PostgreSQL 获取当月第一周的天数
可以使用 EXTRACT 函数和 DATE_TRUNC 函数来判断当月的第一周有几天。具体步骤如下:
-
使用 DATE_TRUNC 函数将当前日期截取到月份的第一天。
-
使用 EXTRACT 函数获取当前日期是星期几,星期一为 1,星期天为 7。
-
判断当前日期是不是月份的第一天且为星期一,如果是,则当月的第一周有 7 天;否则,当月的第一周有 7-星期几天数。
下面是示例代码:
SELECT
CASE
WHEN EXTRACT(day FROM current_date) = 1 AND EXTRACT(dow FROM current_date) = 1
THEN 7
ELSE 7 - EXTRACT(dow FROM DATE_TRUNC('month', current_date))
END AS first_week_days;
原文地址: https://www.cveoy.top/t/topic/npOV 著作权归作者所有。请勿转载和采集!