sql - 如何找到上个月的最后一个“工作日”?
问题描述
有没有办法找到上个月的最后一个工作日?我知道我可以得到上个月的最后一天SELECT (date_trunc('month', now())::date - 1)
,但是我如何得到最后一个“工作日”?
解决方案
我相信这可以满足您的要求:
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
此类请求通常表明需要日历表。
推荐阅读
- javascript - html css js 保持侧边栏在不同页面上打开下拉链接
- bash - 致命:远程
已经存在 - angular-material-5 - 如何在角度材料 5 中添加最大位数验证?
- python - Python 3 - 在用户将鼠标悬停在 GUI 窗口上之前,主线程未检测到后台线程中的 KeyboardInterrupt
- google-chrome-devtools - 如果手表中对象的元素具有特定值,则中断
- crystal-reports - Crystal Reports 上的圆形图像
- java - 使用 kafka Sink 的 Flink 无法执行:java.lang.LinkageError:加载程序约束违规
- python-3.x - pytorch的并行方式和分布式方式是如何工作的?
- spring-integration - Spring Integration Java DSL:如果发生错误,如何将流路由到错误通道
- amazon-web-services - 没有存储桶策略的 s3 预签名 URL 不起作用