将日期和时间列合并到MySQL中的DATETIME列

时间:2021-04-13 22:58:40

I'm trying to concat two columns DATE and TIME into one column DATETIME.

我正在尝试将DATE和TIME两列连接成一列DATETIME。

These columns are already existing but they are in different tables.

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

The structure is like :

结构如下:

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

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

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

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

I need to update the table 1 and I tried this :

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

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

But it says :

但它说:

Incorrect datetime value : 'table2.column_date table2.column_time for column 'column_datetime' at row 1.

日期时间值不正确:'table2.column_date table2.column_time,用于第1行的列'column_datetime'。

1 个解决方案

#1


1  

Try this query:

试试这个查询:

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 ;

#1


1  

Try this query:

试试这个查询:

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 ;