将访问日期时间类型转换为 mysql 类型
Posted
技术标签:
【中文标题】将访问日期时间类型转换为 mysql 类型【英文标题】:converting access datetime type to mysql type 【发布时间】:2008-11-06 14:32:35 【问题描述】:我正在尝试使用以下字符串将访问日期时间字段转换为 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 字段,我不确定在导入之前还是之后这样做会更容易。
非常感谢您的帮助。
【问题讨论】:
【参考方案1】:您的函数语法已关闭。
试试:
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');
【讨论】:
这不是一个 Access 问题,后者在 Access 中不起作用,因为没有名为“str_to_date”的日期格式化函数。【参考方案2】:首先,显示的 str_to_date 不起作用,因为格式与字符串不匹配。如果日期类似于 '1974 04 03 12:21:22','%Y %m %d %T' 会起作用
正确的格式应该是 '%m/%d/%Y %T'(月/日/年时间)。或“%d/%m/%Y %T”(日/月/年时间)。
至于访问,它看起来喜欢将上面的内容更改为使用 . / 应该在哪里工作。
【讨论】:
【参考方案3】:我不清楚您使用的是哪个端,Access 端还是 mysql 端,尽管看起来您正在尝试使用 MySQL 的函数来解决它。如果您的问题是您已从 Access/Jet 导出 CSV 并且它不是预期的格式,那么您可能需要修复从 Access 导出的 CSV 以使用 MySQL 可以理解的格式。
如果您能够使用 Access/Jet 数据库,为 MySQL 数据库设置 ODBC DSN,然后在 Access 中创建链接表,然后您可以直接将数据从将表访问到您的 MySQL 表中。然后 MyODBC 驱动程序将为您处理数据转换。
【讨论】:
以上是关于将访问日期时间类型转换为 mysql 类型的主要内容,如果未能解决你的问题,请参考以下文章