MariaDB YEARWEEK() 函数使用指南
在 MariaDB 中,YEARWEEK()
是一个内置函数,它返回给定日期的年份和星期序号。
MariaDB YEARWEEK()
语法
这是 MariaDB YEARWEEK()
函数的语法:
YEARWEEK(date)
YEARWEEK(date, mode)
参数
date
- 必需的。一个日期或者日期时间表达式。
mode
- 可选的。确定计算周的逻辑。如果没有指定该参数,默认将使用
default_week_format
变量的值。
如果您提供了错误数量的参数,MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'YEARWEEK'
。
返回值
MariaDB YEARWEEK()
函数返回一个表示给定日期所在年份和第几周的数字。
下表整理了 YEARWEEK()
函数对 mode
参数的处理逻辑:
Mode | 每周的第一天 | 返回值范围 | 对第一周的要求 |
---|---|---|---|
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 |
如果指定的表达式不是一个合法的日期或者日期时间,YEARWEEK()
函数将返回 NULL
。
如果参数为 NULL
,YEARWEEK()
函数将返回 NULL
。
MariaDB YEARWEEK()
示例
这里是几个 YEARWEEK()
函数的示例。
SELECT
YEARWEEK('2023-01-01', 0),
YEARWEEK('2023-01-03', 0),
YEARWEEK('2023-01-01', 1),
YEARWEEK('2023-01-03', 1),
YEARWEEK('2023-01-01', 2),
YEARWEEK('2023-01-03', 2),
YEARWEEK('2023-01-01', 3),
YEARWEEK('2023-01-03', 3),
YEARWEEK('2023-01-01', 4),
YEARWEEK('2023-01-03', 4),
YEARWEEK('2023-01-01', 5),
YEARWEEK('2023-01-03', 5),
YEARWEEK('2023-01-01', 6),
YEARWEEK('2023-01-03', 6),
YEARWEEK('2023-01-01', 7),
YEARWEEK('2023-01-03', 7)\G
输出:
YEARWEEK('2023-01-01', 0): 202301
YEARWEEK('2023-01-03', 0): 202301
YEARWEEK('2023-01-01', 1): 202252
YEARWEEK('2023-01-03', 1): 202301
YEARWEEK('2023-01-01', 2): 202301
YEARWEEK('2023-01-03', 2): 202301
YEARWEEK('2023-01-01', 3): 202252
YEARWEEK('2023-01-03', 3): 202301
YEARWEEK('2023-01-01', 4): 202301
YEARWEEK('2023-01-03', 4): 202301
YEARWEEK('2023-01-01', 5): 202252
YEARWEEK('2023-01-03', 5): 202301
YEARWEEK('2023-01-01', 6): 202301
YEARWEEK('2023-01-03', 6): 202301
YEARWEEK('2023-01-01', 7): 202252
YEARWEEK('2023-01-03', 7): 202301
default_week_format
如果没有指定 mode
参数,WEEK()
默认将使用 default_week_format
变量的值。我们可以通过以下语句查看 default_week_format
变量的值。
SHOW VARIABLES LIKE 'default_week_format';
输出:
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| default_week_format | 0 |
+---------------------+-------+
结论
在 MariaDB 中,YEARWEEK()
是一个内置函数,它返回给定日期的年份和星期序号。