MySql,将日期和时间列合并为时间戳

时间:2010-11-08 16:42:23

标签: mysql datetime time timestamp

我猜这是相对简单的,但我不确定语法。我有日期和时间列,我想要组合到时间戳列。我将如何使用select?

进行查询

6 个答案:

答案 0 :(得分:62)

或者您可以尝试使用内置的TIMESTAMP(date,time)功能。

答案 1 :(得分:45)

Mysql似乎没有datetime的构造函数,例如datetime('2017-10-26','09:28:00')。因此,您必须将组件部分视为字符串并使用字符串连接函数(注意mysql没有用于字符串连接的||运算符)。如果您想要日期时间类型,则必须进行投射。

concat(datefield,' ',timefield) as date

select cast(concat('2017-10-26', ' ', '09:28:00') as datetime) as dt;

答案 2 :(得分:5)

如果可以使用内置功能,只需使用它即可。 这里的任何方式都是在给定时间戳之间查找记录的示例。

SELECT `id` FROM `ar_time` WHERE TIMESTAMP(`cdate`,`ctime`) BETWEEN fromTimeStamp AND nowTimeStamp;

答案 3 :(得分:2)

24小时

TIMESTAMP(Date, STR_TO_DATE(Time, '%h:%i %p'))

答案 4 :(得分:1)

SELECT * FROM tablename WHERE TIMESTAMP(datecol, timecol) > '2015-01-01 12:00:00';

答案 5 :(得分:0)

O.P。确实说SELECT但是如果有人想添加时间戳列

ALTER TABLE `t` ADD COLUMN `stamp` TIMESTAMP;
UPDATE `t` SET `stamp` = STR_TO_DATE(CONCAT(`Date`, ' ', `Time`), '%m/%d/%Y %H:%i:%s');

调整format strings品尝。