mysql将两列合并到时间戳中

时间:2012-08-30 18:35:25

标签: mysql

嗨我有一个看起来像这样的mysql表:

date        time
2009-07-31  02:30
2009-07-31  02:45
2009-07-31  03:00

'date'列是date字段,'time'列是text字段。

我想,仅使用mysql将这些合并到第三列“datetime”,这是一个timestamp字段。

所以最终结果如下:

date        time     datetime
2009-07-31  02:30    2009-07-31 02:30
2009-07-31  02:45    2009-07-31 02:45
2009-07-31  03:00    2009-07-31 03:00

不知道如何解决这个问题。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

容易...

ALTER TABLE yourTable ADD COLUMN `datetime` timestamp;

UPDATE yourTable SET `datetime` = CONCAT(`date`, '  ', `time`);

虽然我可能会添加date等保留关键字,timedatetime不是很好的列名。

答案 1 :(得分:1)

MySQL确实有一些“松散类型”行为,因此您可以将它们合并为字符串,并将结果字符串设置为日期时间列。

update `my_table` set `datetime`=concat(`date`, ' ', `time`);

并非所有的反向标记都是必需的,但用于澄清查询。