TIMEDIFF()
およびTIME_TO_SEC()
次のように機能します:
SELECT TIME_TO_SEC(TIMEDIFF('2010-08-20 12:01:00', '2010-08-20 12:00:00')) diff;
+------+
| diff |
+------+
| 60 |
+------+
1 row in set (0.00 sec)
を使用することもできます。 UNIX_TIMESTAMP()
@Amberが提案しました
他の答えで:
SELECT UNIX_TIMESTAMP('2010-08-20 12:01:00') -
UNIX_TIMESTAMP('2010-08-20 12:00:00') diff;
+------+
| diff |
+------+
| 60 |
+------+
1 row in set (0.00 sec)
TIMESTAMP
を使用している場合 データ型、UNIX_TIMESTAMP()
だと思います TIMESTAMP
なので、ソリューションは少し速くなります 値は、エポックからの秒数を表す整数としてすでに格納されています(ソース
)。 docsの引用a> :
UNIX_TIMESTAMP()
の場合TIMESTAMP
で使用されます 列の場合、関数は内部タイムスタンプ値を直接返します。暗黙の「文字列からUNIXタイムスタンプ」への変換はありません。
TIMEDIFF()
returnデータ型のTIME
。TIME
値の範囲は「-838:59:59」から「838:59:59」(約34。96日)です