【问题标题】:How to insert this date/time value into a datetime field如何将此日期/时间值插入日期时间字段
【发布时间】:2018-12-08 16:50:35
【问题描述】:

我有一个日期/时间值已经存在。我想将这些值输入数据库。我可能需要在字段之间进行比较,例如,哪个字段已过期。这些值已经以这种格式保存:

Jul 20 13:19:10 2016 GMT

如何将它们插入数据库?如果我使用字符串,我无法比较哪个更旧,等等。这就是为什么我需要将它们作为日期/时间插入。

但问题是怎么做?

编辑: 我正在从文本文件加载。所以它不是一个可用的字段。我只需要知道如何定义它并插入它。

【问题讨论】:

  • 您可能需要一个临时区域。将数据加载到与文本文件定义匹配的表中,因此该特定列可能只是VARCHAR(24)。然后,您可以在执行 INSERT INTO targetTable SELECT blah, STR_TO_DATE(REPLACE(stringDateColumn, 'GMT', '') , '%b %d %H:%m:%i %Y') FROM stagingTable 之类的操作时使用内部函数将其强制转换为不同的数据类型

标签: mysql database date datetime


【解决方案1】:

使用MySQL函数STR_TO_DATE

SELECT STR_TO_DATE('Jul 20 13:19:10 2016 GMT', '%M %d %T %Y')
-- Gives '2016-07-20 13:19:10'

【讨论】:

    【解决方案2】:

    您可以使用函数 STR_TO_DATE 来转换字符串

    STR_TO_DATE(REPLACE('YOUR_VALUE', 'GMT', '') , '%b %d %H:%m:%i %Y')

    我去掉了 GMT 部分

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      • 2012-02-28
      • 2017-12-31
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多