我正在尝试使用以下字符串将访问日期时间字段转换为mysdl格式:
select str_to_date('04/03/1974 12:21:22', '%Y %m %d %T');
虽然我没有收到错误,但我没有得到预期的结果,而是得到了这个:
+---------------------------------------------------+
| str_to_date('04/03/1974 12:21:22', '%Y %m %d %T') |
+---------------------------------------------------+
| NULL |
+---------------------------------------------------+
1 row in set, 1 warning (0.01 sec)
访问日期采用以下格式:
06.10.2008 14:19:08
我不确定我错过了什么。
作为一个附带问题,我想知道在导入csv文件之前是否可以更改列中的数据?我想用自己的日期替换insert_date和update_date字段,我不确定在导入之前或之后是否更容易这样做。
非常感谢您的帮助。
答案 0 :(得分:4)
您的函数语法已关闭。
尝试:
select str_to_date('04/03/1974 12:21:22', '%m/%d/%Y %T');
第二个参数告诉函数日期部分在字符串中的位置。
对于您的访问问题:
select str_to_date('06.10.2008 14:19:08', '%m.%d.%Y %T');
答案 1 :(得分:1)
首先,显示的str_to_date不起作用,因为格式与字符串不匹配。 '%Y%m%d%T'如果日期类似'1974 04 03 12:21:22'那样会起作用
正确的格式应为'%m /%d /%Y%T'(月/日/年时间)。或'%d /%m /%Y%T'(日/月/年)。
至于访问,它看起来改变上面使用。 /应该在哪里工作。
答案 2 :(得分:0)
我不清楚你使用的是哪一端,Access端还是MySQL端,尽管看起来你正试图用MySQL的功能来解决它。如果您的问题是您从Access / Jet导出CSV并且它不是预期的格式,那么您可能需要修复从Access导出的CSV导出以使用MySQL理解的格式。
如果您能够使用Access / Jet数据库,为MySQL数据库设置ODBC DSN也可能更简单,然后在Access中创建链接表,然后您可以直接从中添加数据将表访问到MySQL表中。然后,MyODBC驱动程序将为您处理数据转换。