<aside> 📢 本日日付をもとにデータを取得したり、当月のデータを取得したり、削除したり。そんなときどうSQL書く?の備忘録です。

</aside>

(1)当方の環境

Dr.Sum 5.5

付属ツールの「Dr.Sum ESQL Excutor」で実行・確認

Untitled

Untitled

(2)当月の月初日

月初日を求めるSQL

※この場合、結果は日付型

select TO_DATE(SUBSTR(REPLACE(TO_CHAR(CURRENT_DATE()),'/',''),1,6) || '01') from __dw__

SQLの解説

①日付を文字型に変換

select SUBSTR(REPLACE(TO_CHAR(CURRENT_DATE()),'/',''),1,6) || '01' from __dw__

②'/'を''に変換(/の削除)

select SUBSTR(REPLACE(TO_CHAR(CURRENT_DATE()),'/',''),1,6) || '01' from __dw__

③頭から6桁ぶんの文字を抽出

当月が欲しい場合はこれでOK。”202208”みたいな。

select SUBSTR(REPLACE(TO_CHAR(CURRENT_DATE()),'/',''),1,6) || '01' from __dw__

④末尾に'01'をくっつける

select SUBSTR(REPLACE(TO_CHAR(CURRENT_DATE()),'/',''),1,6) || '01' from __dw__