農家SEの覚書き

忘れっぽいので、自分用の備忘録です。

PostgreSQLで1ヶ月分の日付を取得する

当日を含む過去1ヶ月の日付

SELECT
date
,to_char(cal.date, 'mm/dd(TMDy)') as 日付
FROM (
SELECT
GENERATE_SERIES::date as date
FROM
GENERATE_SERIES( (now() + '-1 MONTHS') , now() ,'1 DAYS')
) cal
ORDER BY
cal.date

  

f:id:pkpenguin:20210524105804p:plain

      ⋮

f:id:pkpenguin:20210524110339p:plain

今月の日付(1日から月末まで)

SELECT
date
,to_char(cal.date, 'mm/dd(TMDy)') as 日付
FROM (
SELECT
GENERATE_SERIES::date as date
FROM
GENERATE_SERIES( date_trunc('month',now()) ,date_trunc('month', now()) + '1 month' + '-1 days' ,'1 DAYS')
) cal
ORDER BY
cal.date

 

 f:id:pkpenguin:20210524105925p:plain

      ⋮

f:id:pkpenguin:20210524105606p:plain