問題:
Oracleデータベースに昨日の日付(時刻なし)を表示したい。
ソリューション1:
SELECT TO_DATE(current_date - 1) AS yesterday_date FROM dual
今日が2020-09-24であると仮定すると、結果は次のようになります。
yesterday_date |
---|
2020-09-23 |
ディスカッション:
昨日の日付を取得するには、今日から1日を引く必要があります。 current_date
を使用する 今日の日付を取得します。 Oracleでは、現在の日付からその日数を引くだけで、任意の日数を引くことができます。ここでは、1日を引く必要があるため、current_date - 1
を使用します。 。次に、TO_DATE()
を使用します 結果を列タイプdate
にキャストする関数 。
非常に簡単に、たとえば7日まで、任意の日数で戻ることができます。
SELECT TO_DATE(current_date - 7) AS date_week_ago FROM dual
将来の日付を計算することもできます。たとえば、明日の日付を取得するには、current_date
に1つ追加します。 :
SELECT TO_DATE(current_date + 1) AS tomorrow_date FROM dual