如何在 PostgreSQL 中计算给定月份的周六和周日?
我得到总天数,或一个月内的总周六和周日天数。
对于月日代码:
SELECT DATE_PART ('days', DATE_TRUNC('month', NOW())
+ '1 MONTH'::INTERVAL - '1 DAY'::INTERVAL);
如果该月有 30 天,但我想要 22 天计数(删除周末计数)或一个月中的周六和周日总天数。
如何在 PostgreSQL 中计算给定月份的周六和周日?
我得到总天数,或一个月内的总周六和周日天数。
对于月日代码:
SELECT DATE_PART ('days', DATE_TRUNC('month', NOW())
+ '1 MONTH'::INTERVAL - '1 DAY'::INTERVAL);
如果该月有 30 天,但我想要 22 天计数(删除周末计数)或一个月中的周六和周日总天数。
一种方法是使用
generate_series()
获取一个月中所有日期的集合,然后使用WHERE
检查每一天的工作日的子句对其进行过滤。db<>小提琴