如何通过sql命令将.csv文件导入sql。在.csv文件中,有一个日期,但格式是mm dd yy和mm dd yyy,在创建表时我必须使用什么数据类型。我使用日期作为数据类型。加载文件时不接受日期。
niwlg2el1#
你可以用 SET 条款:
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)。
1条答案
按热度按时间niwlg2el1#
你可以用
SET
条款:不过,就我个人而言,我会将数据加载到一个所有列都是字符串的暂存表中。然后我将使用该表上的sql代码进行转换。这更易于调试和查找所有问题(以及查找外键ID)。