【发布时间】:2011-05-06 18:30:56
【问题描述】:
我猜这相对简单,但我不确定语法。我有要合并到时间戳列的日期和时间列。我将如何使用 select 查询这个?
【问题讨论】:
标签: mysql datetime time timestamp
我猜这相对简单,但我不确定语法。我有要合并到时间戳列的日期和时间列。我将如何使用 select 查询这个?
【问题讨论】:
标签: mysql datetime time timestamp
concat('2021-12-31', ' ', '07:00:00')
它在 INSERT 过程中工作。
【讨论】:
或者您可以使用内置的TIMESTAMP(date,time) 函数。
那么你会从 Orders 表中执行类似的操作...
SELECT OrderNumber, TIMESTAMP(date,time) as OrderTS, SalesPersonID
FROM Orders
【讨论】:
Mysql 似乎没有 datetime('2017-10-26', '09:28:00') 这样的 datetime 构造函数。因此,您必须将组件部分视为字符串并使用字符串连接功能(注意 mysql 没有用于字符串连接的 || 运算符)。如果您想要 datetime 类型,则必须强制转换它。
concat(datefield,' ',timefield) as date
select cast(concat('2017-10-26', ' ', '09:28:00') as datetime) as dt;
【讨论】:
select * from my_table where my_date = cast(concat(CURDATE(), ' ', '13:00:00') as datetime)
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。
【讨论】:
SELECT * FROM tablename WHERE TIMESTAMP(datecol, timecol) > '2015-01-01 12:00:00';
【讨论】:
24小时制
TIMESTAMP(Date, STR_TO_DATE(Time, '%h:%i %p'))
【讨论】:
如果可以使用内置函数,就使用它。 这里的任何方式都是在给定时间戳之间查找记录的示例。
SELECT `id` FROM `ar_time` WHERE TIMESTAMP(`cdate`,`ctime`) BETWEEN fromTimeStamp AND nowTimeStamp;
【讨论】: