1

这应该很容易......但让我发疯。

UPDATE time SET time = (time - interval 130 minute) WHERE stuff=whatever;

Time 只是一个时间列,即 09:00:00。

4

4 回答 4

1

假设您想从当前时间中减去 130 分钟,您可以使用addtime,如下所示:

UPDATE time SET time = addtime(time, '-02:10') where stuff=whatever

130 分钟是 2 小时 10 分钟,因此是-02:10常数。

是关于 sqlfiddle 的快速演示。

于 2012-05-04T13:17:49.247 回答
0

如果时间是日期时间或时间图,则必须使用 date_sub 函数

SELECT date_sub(time, interval 130 minute) FROM ....

否则,您还可以将您的时间转换为UNIX_TIMESTAMP,将其转换FROM_TIMESTAMP为 mysql 时间戳

于 2012-05-04T13:22:33.600 回答
0

有一个 DATE_SUB 方法与您正在寻找的 DATE_ADD 方法类似。

DATE_SUB(现在(),间隔 130 分钟)

检查此链接以获取更多信息:

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-sub

于 2012-05-04T13:23:05.223 回答
0

将-更改为它将起作用。正确的查询是:

UPDATE time SET time = (time, interval 130 minute) where stuff=whatever
于 2012-05-04T13:17:42.267 回答