2012-05-04 47 views
1

这应该是如此简单......但是让我发疯。Mysql时间算术 - 仅限时间

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

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

+2

有什么问题吗?怎么了?你期望发生什么? –

回答

1

假设你想从当前时间减去130分钟,您可以使用addtime,像这样:

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

130分钟为2小时10分钟,因此-02:10不变。

Here是一个在sqlfiddle上的快速演示。

0

更改-,它会工作。正确的查询是:

UPDATE time SET time = (time, interval 130 minute) where stuff=whatever 
0

如果时间是一个日期时间或timestmap,你必须使用一个DATE_SUB的Funktion

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

否则,你也可以用UNIX_TIMESTAMP转换您的时间,分吧,用FROM_TIMESTAMP转换成MySQL的时间戳回