如何从日期 PostgreSQL 中提取一个月中的第几周

Vzz*_*arr 7 sql postgresql

我想从 DATE 类型中提取该月(而不是一年)中的周数。

示例:今天的日期是 07/08/2018。我不想要32结果(一年中的一周),但是2,因为今天是八月的第二周。

我期待类似的东西

SELECT EXTRACT($func FROM current_date);
Run Code Online (Sandbox Code Playgroud)

结果:2

该月的第一周从该月的第一天持续到第一个周日(第一周可能持续 1 到 7 天,例如,本月第一周从 2018 年 1 月 8 日星期三到星期日) 2018 年 5 月 8 日,5 天)。

添加本月的日历,为用户提供更多背景信息:

2018年8月

Usa*_*oto 3

另一种选择是使用TO_CHAR(),如下所示:

SELECT TO_CHAR( CURRENT_DATE, 'W' )::integer
Run Code Online (Sandbox Code Playgroud)

然而,这也会返回1,因为它从该月的第一天开始计算周......(因此不是从星期一或星期日开始。)