2013-08-06 30 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文件? –