我正在使用文件查询中的加载数据将 csv 插入表中。我必须在 csv 中格式化日期列,
LOAD DATA INFILE '/invoices/invoice1381301986.csv' INTO TABLE invoice_table FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (`code`,@var1) set datefield=STR_TO_DATE(@var1, '%m/%d/%Y');
我可以使用上述查询格式化日期。
但问题是,我的 csv 日期列有不同的格式。可能的格式有“m/d/Y”、“mdY”、“m/d/y”、“mdy”、“Ymd”、“Y/m/d”。
所以我的查询应该根据 csv 中的日期格式,这样我就可以修改我的查询,例如,
datefield=STR_TO_DATE(@var1, '%m/%d/%Y')
或者
datefield=STR_TO_DATE(@var1, '%m-%d-%Y')
..
如何读取 csv 日期字段的格式?