1

これはとても簡単なはずです...しかし、私を怒らせています。

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

時間は時間列のみ、つまり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

-変更すると、機能します。正しいクエリは次のとおりです。

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

時刻が日時またはタイムマップの場合は、date_sub関数を使用する必要があります

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

それ以外の場合は、で時間をUNIX_TIMESTAMP変換し、それをサブFROM_TIMESTAMP化し、でmysqlタイムスタンプに変換することもできます。

于 2012-05-04T13:22:33.600 に答える
0

探しているDATE_ADDメソッドのように機能するDATE_SUBメソッドがあります。

DATE_SUB(NOW()、INTERVAL 130 MINUTE)

詳細については、次のリンクを確認してください。

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

于 2012-05-04T13:23:05.223 に答える