首页 > 解决方案 > 如何找到上个月的最后一个“工作日”?

问题描述

有没有办法找到上个月的最后一个工作日?我知道我可以得到上个月的最后一天SELECT (date_trunc('month', now())::date - 1),但是我如何得到最后一个“工作日”?

标签: sqlpostgresqldate

解决方案


我相信这可以满足您的要求:

select (date_trunc('month', current_date) + interval '1 month' -
        (case extract(dow from date_trunc('month', current_date) + interval '1 month')
              when 0 then 2
              when 1 then 3
              else 1
         end) * interval '1 day'
       ) as last_weekday_in_month

此类请求通常表明需要日历表。


推荐阅读