我有一个created_at时间戳字段,我需要通过&更新每条记录并从中减去4小时。
2014-08-20 18:00:00
将成为2014-08-20 14:00:00
2014-08-21 03:00:00
将成为2014-08-20 23:00:00
答案 0 :(得分:7)
您可以使用简单的UPDATE语句:
UPDATE yourtable SET created_at = created_at - INTERVAL 4 HOUR;
这将根据您的需要更新所有行:
从文档到DATE_ADD
日期算术也可以使用INTERVAL和 +或 - 运算符:
日期+ INTERVAL expr单位
date - INTERVAL expr unit
答案 1 :(得分:3)
您可以使用INTERVAL
指定需要减去的时间:
UPDATE myTable
SET created_at = created_at - INTERVAL 4 HOUR
答案 2 :(得分:3)
你可以采取几种方法。
您可以设置日期等于另一个日期,即4小时之前的间隔,如此
使用adddate()
UPDATE table SET created_at = ADDDATE(created_at, INTERVAL -4 HOUR);
使用date_sub
UPDATE table set created_at = DATE_SUB(created_at, INTERVAL 4 HOUR);
仅使用间隔
UPDATE table SET created_at = (created_at - INTERVAL 4 HOUR);