在MySQL中将日期和时间列合并为日期时间列
我试图将两列在MySQL中将日期和时间列合并为日期时间列,mysql,date,datetime,time,Mysql,Date,Datetime,Time,我试图将两列DATE和TIME合并为一列DATETIME 这些列已经存在,但它们位于不同的表中 结构如下: 表1:列的日期时间(YYYY-MM-DD HH:MM:SS) 表2:列日期(YYYY-MM-DD),列时间(HH-MM-SS)。 我需要更新表1,我尝试了以下方法: UPDATE table1 SET column_datetime = CONCAT('table2.column_date', ' ', 'table2.column_time'); 但它说: 日期时间值不正确:“tabl
DATE
和TIME
合并为一列DATETIME
这些列已经存在,但它们位于不同的表中
结构如下:
表1:列的日期时间(YYYY-MM-DD HH:MM:SS)
表2:列日期(YYYY-MM-DD),列时间(HH-MM-SS)。
我需要更新表1,我尝试了以下方法:
UPDATE table1 SET column_datetime = CONCAT('table2.column_date', ' ', 'table2.column_time');
但它说:
日期时间值不正确:“table2.column\u日期table2.column\u时间”
第1行的“column_datetime”列
请尝试以下查询:
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”,它显示了相同的错误:函数stru to_date的时间值不正确:“2008-08-11 15:50:32”,因为使用了24小时表示法。使用%R而不是%R。我已经更新了代码,所以我可以更新答案吗?这样对其他人有用吗?