PostgreSQL で特定の月の最後の平日を見つける
使用法: 月末が土曜日または日曜日の場合は前の金曜日を返し、それ以外の場合は月末を使用します
例:
- 2013 年 3 月 31 日は日曜日なので、2013 年 3 月 29 日を返します。
- 2013 年 11 月 30 日は土曜日なので、2013 年 11 月 29 日を返します。
これをPostgreSQL SQLでどのように書くのですか?
私がこれまでに持っているのはこれです(月末のみを返しますが、土曜日または日曜日にあたる場合、月末は存在しません):
SELECT as_of_dt, sum(bank_shr_bal) as bank_shr_bal
FROM hm_101.vw_gl_bal
WHERE as_of_dt = (date_trunc('MONTH', as_of_dt) + INTERVAL '1 MONTH - 1 day')::date
GROUP BY 1
ありがとう