SQL-92/99 Oracle Db2 SQL Server MySQL PostgreSQL Access

SQL Server/ Access/

DATEDIFF ( 日付の要素, 日付1, 日付2 )


MySQL/

DATEDIFF ( 日付1, 日付2 )


戻り値 : 日付の差

DATEDIFFは指定した日付1と日付2の差を求めるときに使用します。

このとき日付1より日付2のほうが未来であるときは正の値、日付1より日付2のほうが過去であるときは負の値を返します。


SQL Server, AccessとMySQLでは機能が異なりますので注意しましょう。


関連キーワード





SQL実行例の説明(1)

・T1_SAMPLE表のFROM_TIMETO_TIMEから日付の差を取得します。


-- SQL Server/ Access/
SELECT P_ID, DATEDIFF ( day, FROM_TIME, TO_TIME ) FROM T1_SAMPLE;


SQL実行の結果(1-1)

P_IDFROM_TIMETO_TIME
A001012006-08-012006-08-10
A001022006-08-112006-08-20
A001032006-08-212006-08-20
SQL Result
P_IDDATEDIFF(day, FROM_TIME, TO_TIME)
A00101 9
A00102 9
A00103-1



SQL実行例の説明(2)

MySQLでは日の差のみ求めることができます。

T1_SAMPLE表のFROM_TIMETO_TIMEから日付の差を取得します。


-- MySQL/
SELECT P_ID, DATEDIFF ( FROM_TIME, TO_TIME ) FROM T1_SAMPLE;


SQL実行の結果(2-1)

P_IDFROM_TIMETO_TIME
A001012006-08-012006-08-10
A001022006-08-112006-08-20
A001032006-08-212006-08-20
SQL Result
P_IDDATEDIFF(FROM_TIME, TO_TIME)
A00101 9
A00102 9
A00103-1