MySQL 使用加载数据命令格式化日期

MySQL Format Date with a Load Data command

您好,我正在尝试从 csv 文件加载数据,但需要在加载文件时格式化日期。

我的 csv 文件的日期格式是:1/1/2008 0:00 我想用加载命令格式化日期和年份

load data infile 'C:/mysql/ca_pop_educational_attainment.csv'
into table ca_pop.educational_attainment
fields terminated by ','
enclosed by '"'
ignore line 1
set year = STR_TO_DATE(@year,"%Y")
(ea_id, @year, age, educational_attainment, personal_income,pop_count)  

列列表必须位于 SET 子句之前。也就是说,您列出要导入的列或变量,然后您可以设置各个列。

此外,您需要使用 STR_TO_DATE() 将整个字符串解析为日期。然后您可以将其包装在另一个函数或表达式中以提取各个部分,例如年份。

类似下面的东西,但我没有测试过:

load data infile 'C:/mysql/ca_pop_educational_attainment.csv'
into table ca_pop.educational_attainment
fields terminated by ','
enclosed by '"'
ignore line 1
(ea_id, @year, age, educational_attainment, personal_income, pop_count)  
set year = YEAR(STR_TO_DATE(@year,'%m/%d/%Y %k:%i'))