これはとても簡単なはずです...しかし、私を怒らせています。
UPDATE time SET time = (time - interval 130 minute) WHERE stuff=whatever;
時間は時間列のみ、つまり09:00:00です。
これはとても簡単なはずです...しかし、私を怒らせています。
UPDATE time SET time = (time - interval 130 minute) WHERE stuff=whatever;
時間は時間列のみ、つまり09:00:00です。
現在の時刻から130分を減算したい場合は、次addtime
のように使用できます。
UPDATE time SET time = addtime(time, '-02:10') where stuff=whatever
130分は2時間10分なので、-02:10
一定です。
これがsqlfiddleの簡単なデモです。
-をに変更すると、機能します。正しいクエリは次のとおりです。
UPDATE time SET time = (time, interval 130 minute) where stuff=whatever
時刻が日時またはタイムマップの場合は、date_sub関数を使用する必要があります
SELECT date_sub(time, interval 130 minute) FROM ....
それ以外の場合は、で時間をUNIX_TIMESTAMP
変換し、それをサブFROM_TIMESTAMP
化し、でmysqlタイムスタンプに変換することもできます。
探している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