需要通过从每条记录中减去4小时来更新时间戳字段

时间:2014-08-21 16:40:39

标签: mysql sql

我有一个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

3 个答案:

答案 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);