在 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
谢谢