我猜这是相对简单的,但我不确定语法。我有日期和时间列,我想要组合到时间戳列。我将如何使用select?
进行查询答案 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品尝。