MySQL 周函数

MySQL 周日期函数返回给定日期的周数。此周函数接受两个参数。第一个是日期,第二个参数决定周是从星期日还是星期一开始。返回值应在 0 到 53 或 1 到 53 的范围内。

MySQL 周函数语法

周函数的基本语法如下所示

Week(date, Mode);

在此,Mode 是一个可选参数。下表显示了 Mode 参数的返回值。例如,如果 Mode= 0,则周从星期日开始,返回值在 0 到 53 之间。

模式一周的第一天范围第 1 周是...
0星期日0 – 53给定年份的第一个星期日
1星期一0 – 53在该年份中有 4 天或更多天
2星期日1 – 53给定年份的第一个星期日
3星期一1 – 53在该年份中有 4 天或更多天
4星期日0 – 53在该年份中有 4 天或更多天
5星期一0 – 53给定年份的第一个星期一
6星期日1 – 53在该年份中有 4 天或更多天
7星期一1 – 53给定年份的第一个星期一

MySQL 周函数示例

以下示例可以帮助您理解此周函数的用法。在这里,我们返回有无模式参数的周数。

SELECT WEEK('2019-02-21');

SELECT WEEK('2019-02-21', 0);

SELECT WEEK('2019-02-21', 1);
Get Week Number Example 1

让我们来看另一个周日期方法的示例。

SELECT WEEK('2018-12-31', 1);

SELECT WEEK('2018-12-31', 2);

SELECT WEEK('2018-12-31', 3);
WEEK Example 2

MySQL 周函数示例 2

让我们来看另一个周函数的示例。这次,我们使用更多模式值和不同的MySQL日期。

SELECT WEEK('2018-10-31', 4);

SELECT WEEK('2018-05-24', 1);

SELECT WEEK('2018-02-02', 3);
Week Function 3

如果日期落在上一周的最后一周,则周函数返回 0。为避免这种情况,您可以使用 2、3、6 或 7 作为模式参数值。

SELECT WEEK('2018-01-01', 0);

SELECT WEEK('2018-01-01', 2);

SELECT WEEK('2018-01-01', 6);
Week Function 4