MySQLで2つの日付の差を計算するのは本当に簡単です。方法は次のとおりです。 dt1としましょう およびdt2 テーブルtable_nameの2列です 。以下のクエリのdb1、db2、table_nameを自分の値に置き換えるだけです。
単純なユースケースは、signup_dateとlast_login_dateという2つのフィールドを持つuserというテーブルです。 2つの日付の差を計算して、ユーザーがサインアップ後にログインした最近の時間を見つけることができます。
テーブルの列として存在する2つの日付の違い
SELECT UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 ) from table_name;
変数として保存された2つの日付の違い
SET @dt1='2013-11-09 00:00:00'; SET @dt2='2012-10-07 00:00:00'; SELECT UNIX_TIMESTAMP( @dt2 ) - UNIX_TIMESTAMP( @dt1 );
分単位の2つの日付の違い
分単位の違いを知りたい場合は、上記の結果を60で割ってください
SELECT (UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 ))/60 from table_name;
時間単位の2つの日付の違い
分単位の違いを知りたい場合は、上記の結果を3600で割ってください
SELECT (UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 ))/3600 from table_name;
2つの日付の日数の違い
分単位の違いを知りたい場合は、上記の結果を3600*24で割ってください。