pgsql求下个月第一个工作日的前一天
时间: 2024-08-22 22:01:54 浏览: 80
2023年日历(标记工作日,节假日,调休,周末),计算两个日期相差的工作日天数
5星 · 资源好评率100%
在 PostgreSQL 中,计算下个月的第一个工作日的前一天通常需要结合 `date_part`、`next_day` 函数以及一些业务规则来确定是否是周末。假设每周一到周五为工作日,你可以编写如下的查询:
```sql
WITH first_workday AS (
SELECT
date_trunc('month', current_date) + INTERVAL '1 month - 1 day' AS start_of_next_month,
next_day(start_of_next_month, 'Monday') - INTERVAL '1 day' AS previous_business_day
)
SELECT previous_business_day FROM first_workday;
```
这个查询首先找出当前月的最后一天并加一个月减去一天得到下个月的第一天(start_of_next_month),然后获取下个月的第一个周一(next_day),再减去一天,得到的就是下个月的第一个工作日的前一天。
注意:实际应用中,如果所在国家或地区的工作日规定有特殊调整(比如节假日前移后延等),可能需要加入额外条件来判断。
阅读全文