あるデータが何日前のデータなのか知りたい時ってあるよね〜?
プログラミングでは、便利な関数が用意されていることもありますが、逆にタイムスタンプに変換して60だの24だの掛け算したり…。
日付をそのまま引き算することは難しいですが、SQL(今回はOracle)では型やフォーマットを合わせればそのまま引き算できちゃいます!
SQLで日付の差分日数を求める
自分用のメモです。何てことはありません。
差分の日数を求めたい2つの日付をTO_DATE()
で「YYYYMMDD
」形式にして引くだけです。
以下の例ではシステム日付、つまり、現在の日付と任意の日付を引いて、その差分日数を求めています。
SELECT TO_DATE(SYSDATE, 'YYYYMMDD') - TO_DATE('[ここに日付]', 'YYYYMMDD') FROM DUAL;
一見簡単ですが、日付の形式が合わないとそれなりの対応が必要です。
- Original:https://minory.org/sql-calc-date-diff.html
- Source:Minory
- Author:管理者