如何通过SQL命令将.csv文件导入SQL。在.csv文件中,有一个日期,但格式为MM-DD-YY& MM-DD-YYY在创建表时我必须使用哪种数据类型。我使用日期作为数据类型。加载文件时,它不接受日期。
答案 0 :(得分:0)
您可以使用SET
子句:
LOAD DATA INFILE 'file.csv'
INTO TABLE t(@var)
SET datecol = (CASE WHEN LENGTH(@var) = 8 THEN str_to_date(@var, '%m-%d-%y')
WHEN LENGTH(@var) = 10 THEN str_to_date(@var, '%m-%d-%Y')
END);
但就个人而言,我会将数据加载到一个临时表中,其中所有列都是字符串。然后我会在该表上使用SQL代码进行转换。这更容易调试并找到所有问题(以及查找外键ID)。