1

我已将 Access 表导出到 .csv 文件中,并将该 .csv 文件导入到 MySql 表中。

导入所有内容后,我目前在 MySQL 中有一个名为Time的列,其中包含字符串数据 (VARCHAR):

7/29/2008 10:28:38

仅当我将其导入 MySql 中的 VARCHAR 字段时,使用 .csv 文件从 Access 导入此时间戳数据才能正常工作。

无论如何,我想转换Time VARCHAR 字段,其中包含:

7/29/2008 10:28:38

到一个简单的 MySql 日期字段(称为Time2,仅包含日期:

7/29/2008

我尝试使用以下查询这样做:

UPDATE members SET Time2 = STR_TO_DATE(Time, '%Y-%m-%d') 

我不确定如何处理原始时间字段,以便能够从中正确提取日期信息,然后将其存储在 Time2 字段中。我是否首先需要将原始时间字段转换为时间戳,然后使用 DATE_FORMAT 将其转换并存储为简单日期?

4

3 回答 3

1

正确的格式是%c/%e/%Y

UPDATE members SET Time2 = STR_TO_DATE(Time, '%c/%e/%Y') 

在哪里

  • %c 是月份,数字,没有前导零
  • %e 是月份中的日期,数字,可能没有前导零
  • %Y 是年份

在这里您可以找到格式字符串的参考

于 2013-07-09T18:31:36.817 回答
0

做 a 时我无法STR_TO_DATE上班SELECT,改为STR_TO_DATEDATE_FORMAT我有mm/dd/yyyy-

SELECT DATE_FORMAT(Time, '%c/%e/%Y') FROM the_table_name 

例如 DATE_FORMAT('2013-08-14 09:42:05')

给出 2013 年 8 月 14 日

于 2013-08-17T10:05:41.103 回答
-1
DATEADD(second, yourTime, CONVERT(DATETIME, '1970-01-01', 102)))
于 2015-12-15T17:52:51.860 回答