【问题标题】:Merging Date and Time columns into DATETIME column in MySQL将日期和时间列合并到 MySQL 中的 DATETIME 列中
【发布时间】:2016-05-02 07:28:03
【问题描述】:

我正在尝试将两列 DATETIME 合并为一列 DATETIME

这些列已经存在,但它们位于不同的表中。

结构如下:

表 1: column_datetime (YYYY-MM-DD HH:MM:SS)

表 2: column_date (YYYY-MM-DD), column_time(HH-MM-SS).

我需要更新表 1,我尝试了这个:

UPDATE table1 SET column_datetime = CONCAT('table2.column_date', ' ', 'table2.column_time');

但它说:

日期时间值不正确:'table2.column_date table2.column_time for 第 1 行的“column_datetime”列。

【问题讨论】:

    标签: mysql date datetime time


    【解决方案1】:

    试试这个查询:

    UPDATE table1, table2
    SET column_datetime = STR_TO_DATE(CONCAT(table2.column_date, ' ', table2.column_time), '%Y-%c-%e %T')
    WHERE table1.FK_ID = table2.ID ;
    

    【讨论】:

    • 我试过了,但它说:时间值不正确:函数 str_to_date 的时间值是 '15:50:32'。我还尝试使用“%Y-%m-%d %h:%i:%s”而不是“%Y-%c-%e %r”,它说同样的错误:时间值不正确:'2008- 08-11 15:50:32' for function str_to_date
    • 这是因为 24 小时制。使用 %R 而不是 %r。我已经更新了代码
    • 那么我可以更新答案,以便对其他人有用吗?
    猜你喜欢
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-07
    • 2016-07-28
    • 2011-05-06
    • 1970-01-01
    相关资源
    最近更新 更多