【SQL】月初め、末日を取得する関数などまとめ
暇なので簡単にまとめておきます。
select to_char(trunc(sysdate),'YYYY/MM/DD') TODAY, //今日 to_char(trunc(sysdate,'MM'),'YYYY/MM/DD') FIRST_DATE,//当月初日 to_char(trunc(sysdate,'YYYY'),'YYYY/MM/DD') YEAR_FIRST_DATE,//当年度初日 to_char(last_day(sysdate),'YYYY/MM/DD') LAST_DATE,//当月末日 from dual
trunc(date_val,'MM')とすると、その月の初日がとって来れるようです(年の場合も同様)。
また、末日については'last_day'関数で取ってこれます(Oracleの場合)。
ついでに、日付や月の値のみを抽出したい場合には、
以下のような関数も使えます。
select extract(day from sysdate) DAY, extract(day from last_day(sysdate)) LAST_DAY, extract(month from sysdate) MONTH, extract(year from sysdate) YEAR from dual
'to_char(last_day(sysdate), 'DD') LAST_DAY'と書くよりは多少はわかりやすい? かも。
終わり。