2013-08-06 60 views
0

我已經在這個格式包含數據的CSV文件:無法從CSV導入正確的價格列在MySQL文件

SATURN,6459,"50,486",27184 

我使用這個命令將這個文件導入到表:

LOAD DATA LOCAL INFILE 'D:\\temp.csv' INTO TABLE `test`.`tmp` FIELDS ESCAPED BY '\\' 
TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' 
(`description`,`file_no`,`net`,`run_no`); 

所有字段被正確導入,但柱總是具有象

50.00 // it should be 50,486 
數據

此列的數據類型是Decimal(10,2)。我也試過Numeric(10,2),但沒有運氣。任何幫助,高度讚賞。提前致謝。

回答

1

請有這一個嘗試:

LOAD DATA LOCAL INFILE 'D:\\temp.csv' INTO TABLE `test`.`tmp` FIELDS ESCAPED BY '\\' 
TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' 
(`description`, `file_no`, @a_variable, `run_no`) 
SET `net` = REPLACE(@a_variable, ',', ''); 
+0

非常漂亮的fancyPants,你真棒。這就像一個魅力。 –

0

插入數字時,MySQL無法處理逗號作爲1000個分隔符。加載前需要解析出這些逗號。

如果您在查詢時需要這種格式的數字,請使用FORMAT()。例子可見Apply comma to number field in MySQL

+0

有沒有什麼辦法來取代場內任何逗號而導入CSV文件? –