将"Wed May 21 00:00:00 EDT 2008"转换为适合在 MySQL 中导入的格式



我有Excel .csv文件中的数据,其中一列包含日期格式为"Wed May 21 00:00:00 EDT 2008">
我必须在MySQL中导入这些数据。
是否有合适的数据类型支持这种格式,或者我必须在。csv文件中进行更改才能导入该数据?
我已经尝试了TimeStamp,但是它不起作用。

唉,没有处理时区。但其余部分是这样完成的:

SELECT STR_TO_DATE("Wed May 21 00:00:00 EDT 2008",
"%a %b %d %H:%i:%s EDT %Y");
+-------------------------------------------------------------------------+
| STR_TO_DATE("Wed May 21 00:00:00 EDT 2008", "%a %b %d %H:%i:%s EDT %Y") |
+-------------------------------------------------------------------------+
| 2008-05-21 00:00:00                                                     |
+-------------------------------------------------------------------------+
1 row in set (0.00 sec)

DATETIMETIMESTAMP会像您一样处理完整的日期和时间。(或者您可以忽略00:00:00并将其放入DATE中。)

您是否使用LOAD DATA?在LOAD内部进行转换有一个技巧;参见参考手册。以下是一些提示:

  1. 将字符串捕获为@x
  2. 设置列为STR_TO_DATE(@x, "...")

Ref manual: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format和str-to-date在该页后面。

相关内容

  • 没有找到相关文章

最新更新