这应该很容易......但是让我很生气。
UPDATE time SET time = (time - interval 130 minute) WHERE stuff=whatever;
时间只是时间栏,即09:00:00。
答案 0 :(得分:1)
假设您想从当前时间减去130分钟,可以使用addtime
,如下所示:
UPDATE time SET time = addtime(time, '-02:10') where stuff=whatever
130分钟是2小时10分钟,因此-02:10
不变。
Here是关于sqlfiddle的快速演示。
答案 1 :(得分:0)
将 - 更改为,,它会起作用。正确的查询是:
UPDATE time SET time = (time, interval 130 minute) where stuff=whatever
答案 2 :(得分:0)
如果时间是日期时间或时间映射,则必须使用date_sub funktion
SELECT date_sub(time, interval 130 minute) FROM ....
否则你也可以用UNIX_TIMESTAMP
转换时间,将其转换为FROM_TIMESTAMP
并转换为mysql时间戳
答案 3 :(得分:0)
有一个DATE_SUB方法与您正在寻找的DATE_ADD方法类似。
DATE_SUB(NOW(),INTERVAL 130 MINUTE)
查看此链接以获取更多信息:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-sub