WEEK() 函数用来计算日期 date 是一年中的第几周。WEEK(date,mode) 函数允许指定星期是否起始于周日或周一,以及返回值的范围是否为 0~52 或 1~53。
date:要获取周数的日期。
mode:是一个可选参数,用于确定周数计算的逻辑。如果忽略 mode 参数,默认情况下 WEEK 函数将使用 default_week_format 系统变量的值。要获取 default_week_format 变量的当前值,请使用 SHOW VARIABLES 语句如下:
mysql> SHOW VARIABLES LIKE 'default_week_format'; +---------------------+-------+ | Variable_name | Value | +---------------------+-------+ | default_week_format | 0 | +---------------------+-------+ 1 row in set
(1)使用 WEEK(date) 函数查询当前日期是一年中的第几周。如下:
mysql> select WEEK(NOW()); +-------------+ | WEEK(NOW()) | +-------------+ | 17 | +-------------+ 1 row in set (0.02 sec)
由运行结果可知,当前日期是一年中的 17 周。
(2)使用 WEEK(date) 函数查询指定日期是一年中的第几周。如下:
mysql> select WEEK('2022-04-25'); +--------------------+ | WEEK('2022-04-25') | +--------------------+ | 17 | +--------------------+ 1 row in set (0.02 sec) mysql> select WEEK('2022-04-25 12:30:00'); +-----------------------------+ | WEEK('2022-04-25 12:30:00') | +-----------------------------+ | 17 | +-----------------------------+ 1 row in set (0.03 sec)
由运行结果可知,日期 2022-04-25 12:30:00 是一年中的 17 周。