Mysql时间算术 - 仅限时间

时间:2012-05-04 13:12:43

标签: mysql

这应该很容易......但是让我很生气。

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

时间只是时间栏,即09:00:00。

4 个答案:

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