一、WEEK函数的基本用法
MySQL中的WEEK函数可以用于计算一个日期所在的周数,其语法如下:
WEEK(date[, mode])
其中,date为需要计算的日期,mode为可选参数,用于指定周的起始日期,默认为1。如下表:
mode参数 | 周起始日期 |
---|---|
0 | 星期日 |
1 | 星期一 |
2 | 星期日 |
3 | 星期一 |
4 | 星期二 |
5 | 星期三 |
6 | 星期四 |
7 | 星期五 |
8 | 星期六 |
使用WEEK函数可以得到一个日期所在的周数,例如:
SELECT WEEK('2022-07-15');
输出结果为:
+---------------+
| WEEK('2022-07-15') |
+---------------+
| 28 |
+---------------+
表示2022年7月15日是当年的第28周。
二、WEEK函数结合其他函数的使用
除了计算一段时间的周数,WEEK函数还可以结合其他函数来使用,例如结合YEAR函数可以计算某一年的第几周:
SELECT WEEK('2022-07-15'), YEAR('2022-07-15');
输出结果为:
+---------------+-----------------+
| WEEK('2022-07-15') | YEAR('2022-07-15') |
+---------------+-----------------+
| 28 | 2022 |
+---------------+-----------------+
表示2022年7月15日是2022年的第28周。
三、WEEK函数的参数mode使用示例
WEEK函数的参数mode可以用于指定周的起始日期,以下是两个示例:
-- mode为1,周起始日期为星期一
SELECT WEEK('2022-07-15', 1);
-- mode为2,周起始日期为星期日
SELECT WEEK('2022-07-15', 2);
输出结果为:
+---------------------+
| WEEK('2022-07-15', 1) |
+---------------------+
| 28 |
+---------------------+
+---------------------+
| WEEK('2022-07-15', 2) |
+---------------------+
| 29 |
+---------------------+
可以看出,当mode为1时,2022年7月15日所在的周数为28,当mode为2时,2022年7月15日所在的周数为29。