【MySQL】二つの日付の差を算出する。

ためのめちゃくちゃ便利な関数を見つけたのでメモ。

■TIMESTAMPDIFF

フォーマット

 TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

日付または日付時刻式 datetime_expr1 および datetime_expr2 間の整数の差を戻す。結果のユニットは、unit 引数によって提示される。
unit に指定出来る引数は下記の通り。

FRAC_SECOND 、SECOND 、MINUTE 、HOUR 、DAY 、WEEK 、MONTH 、QUARTER 、YEAR
※上記引数には「SQL_TSI_」のプレフィックスを付加することも可能。

例)SQL_TSI_SECOND(SECONDと同等)

下記SQLの例。この場合二つの日付の差が秒数で返却される。

select timestampdiff(SQL_TSI_SECOND, insert_date, update_date) from posts;

これめちゃくちゃ便利ですわ。