gpt4 book ai didi

mysql - 将 CSV 导入 MySQL 并转换日期

转载 作者:行者123 更新时间:2023-11-29 08:49:48 25 4
gpt4 key购买 nike

我知道这个问题之前已经被问过,但由于某种原因,我的运气仍然为零。我正在尝试导入 CSV 文件并将日期字段转换为正确的 mysql 格式 (YYYY-MM-DD)。我应该注意到,csv 中的某些记录对于日期值有一个空值“”。不确定这是否意味着什么。我还应该提到我已经记录在这个表中。它不是空的。我尝试运行这个但没有运气

load data local infile '/Users/Path/To/CSV/file.csv' 
into table donor fields terminated by ','
lines terminated by '\n' (@date,INSTRUCTIONS)
set date = STR_TO_DATE(@date, '%Y-%m-%d')

所有这些都返回 NULL。有什么想法吗?

最佳答案

如果您只执行一次此操作,并且表一开始是空的,则可以运行导入,但首先更改表,以便日期列的类型为 VARCHAR。然后运行UPDATE table SET date = str_to_date( date, '%m/%d/%Y') ,并将列转换回 DATETIME 或 DATE。

您也可以添加格式为 DATE 的第二个日期列,导入格式为 VARCHAR 的第一个日期列,然后运行 ​​UPDATE table SET date2 = str_to_date( date1, '%m/%d/%Y')然后删除 varchar 列。

需要注意的是STR_TO_DATE()的第二个参数是输入的格式,而不是结果格式。因此,在第二个参数中,您指示 MySQL CSV 中的日期格式为 Y-m-d。如果实际上是 m/d/Y,您应该使用“STR_TO_DATE(@date_date, '%m/%d/%Y)”。

希望这有帮助...

关于mysql - 将 CSV 导入 MySQL 并转换日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11572797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com