MySQL LOAD DATA INFILE以逗号作为小数分隔符

时间:2012-01-04 23:05:15

标签: mysql

当数字使用逗号作为小数分隔符时,如何导入TSV文件?

LOAD DATA INFILE '$filename' INTO TABLE dados_meteo IGNORE 3 LINES 
($fields[0], $fields[1], $fields[2], $fields[3], $fields[4], $fields[5])
 SET POM='$pom'
 ;

2 个答案:

答案 0 :(得分:6)

尝试将','替换为'。'加载时。

例如 -

LOAD DATA INFILE 'file.csv' INTO TABLE dados_meteo
(@var1, @var2)
SET column1 = REPLACE(@var1, ',', '.'), column2 = REPLACE(@var2, ',', '.')

答案 1 :(得分:0)

如果$ field [0]是您的数字:

LOAD DATA INFILE '$filename' INTO TABLE dados_meteo IGNORE 3 LINES 
(@var1, $fields[1], $fields[2], $fields[3], $fields[4], $fields[5])
SET POM='$pom', $field[0] = CONVERT(REPLACE(@var1,',', ''), DECIMAL(10));

如果更多是数字,只需用@ var2,@ var3等重复模式。你将要用你真实的字段替换DECIMAL(10)。