2008-11-06 58 views
0

我试图访问日期时间字段转换为mysdl格式,使用以下字符串:将访问日期时间类型到MySQL类型

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字段,并且我不确定在导入之前或之后执行此操作会更容易。

非常感谢您的协助。

回答

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'); 
+0

这不是一个访问问题,后者不会在Access中工作,因为没有日期格式化函数称为“str_to_date”。 – 2008-11-08 03:28:44

1

首先,显示的str_to_date不起作用,因为格式与字符串不匹配。如果日期类似'1974 04 03 12:21:22'

'%Y%m%d%T'将会正常工作正确的格式应该是'%m /%d /%Y%T'(月/日/年)。或'%d /%m /%Y%T'(日/月/年时间)。

至于访问,它看起来喜欢改变以上使用。 /应该在哪里工作。

0

这不是我清楚其中的这个你使用,接入端或MySQL的结束,虽然它看起来像你想使用MySQL的解决它结束功能。如果您的问题是您已经从Access/Jet导出了CSV并且它不是预期的格式,那么您可能需要修复Access导出的CSV导出以使用MySQL可以理解的格式。

如果您有能力使用Access/Jet数据库,那么为您的MySQL数据库设置ODBC DSN也可能会更简单,然后在Access中创建链接表,然后您可以直接从其中添加数据访问表到您的MySQL表中。 MyODBC驱动程序将为您处理数据转换。