0

我正在尝试使用以下字符串将访问日期时间字段转换为 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 字段,我不确定在导入之前还是之后这样做会更容易。

非常感谢您的帮助。

4

3 回答 3

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');
于 2008-11-06T14:46:45.330 回答
1

首先,显示的 str_to_date 不起作用,因为格式与字符串不匹配。如果日期类似于“1974 04 03 12:21:22”,“%Y %m %d %T”将起作用

正确的格式应该是 '%m/%d/%Y %T'(月/日/年时间)。或“%d/%m/%Y %T”(日/月/年时间)。

至于访问,看起来像是将上面的内容更改为使用 . / 应该在哪里工作。

于 2008-11-06T14:45:48.950 回答
0

我不清楚您使用的是哪一端,Access 端还是 MySQL 端,尽管看起来您正在尝试使用 MySQL 的函数来解决它。如果您的问题是您已从 Access/Jet 导出 CSV 并且它不是预期的格式,那么您可能需要修复从 Access 导出的 CSV 以使用 MySQL 理解的格式。

如果您有能力使用 Access/Jet 数据库,为 MySQL 数据库设置 ODBC DSN,然后在 Access 中创建链接表,您可以直接将 Access 表中的数据附加到链接表中你的 MySQL 表。然后 MyODBC 驱动程序将为您处理数据转换。

于 2008-11-08T03:31:03.480 回答