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