可以使用 EXTRACT 函数和 DATE_TRUNC 函数来判断当月的第一周有几天。具体步骤如下:

  1. 使用 DATE_TRUNC 函数将当前日期截取到月份的第一天。

  2. 使用 EXTRACT 函数获取当前日期是星期几,星期一为 1,星期天为 7。

  3. 判断当前日期是不是月份的第一天且为星期一,如果是,则当月的第一周有 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;
PostgreSQL 获取当月第一周的天数

原文地址: https://www.cveoy.top/t/topic/npOV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录