在时间戳中添加日期
我想在查询
下面运行UPDATE table
SET columnA = '2017-03-21 23:57:19'
WHERE .....
但是,我想通过在23:57:19
小时取任何昨天的日期来构建时间戳。
columnA
的数据类型为timestamp
。 2017-03-21
是昨天的日期。我应该使用subdate(CURDATE(),1)
吗?
UPDATE table
SET columnA = 'subdate(CURDATE(),1) 23:57:19' WHERE ..... ?
或者我有另一种方法可以做到这一点?
答案 0 :(得分:2)
UPDATE table
SET columnA = DATE_SUB('2017-03-22 23:57:19', INTERVAL 1 DAY)
或
UPDATE table
SET columnA = DATE_SUB(NOW(), INTERVAL 1 DAY)
如果你想昨天到23:57:19
,那就试试这个:
DATE_ADD(TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY)), INTERVAL '23:57:19' HOUR_SECOND)
DATE_SUB(CURDATE(), INTERVAL 1 DAY) - yesterday's date
TIMESTAMP(...) - resets yesterday to midnight
DATE_ADD(..., INTERVAL '23:57:19') - adds 23:57:19 to yesterday from midnight