Последнее обновление
WEEKOFYEAR
Описание
Функция WEEKOFYEAR возвращает номер недели в году для указанной даты (диапазон 1-53). Неделя начинается в понедельник и заканчивается в воскресенье. Если на текущий год приходится 4 или более дней недели, эта неделя считается 1-й неделей текущего года; в противном случае она считается последней неделей предыдущего года (это может быть неделя 52 или 53).
Эта функция работает так же, как функция weekofyear в MySQL.
Синтаксис
INT WEEKOFYEAR(`<date_or_time_expr>`)
Параметры
| Параметр | Описание |
|---|---|
<date_or_time_expr> | Входное значение даты и времени, поддерживаются типы DATE/DATETIME/TIMESTAMP_NS. Сведения о форматах даты и времени см. в разделах преобразование даты и времени и преобразование даты |
Возвращаемое значение
Возвращает номер недели типа INT в диапазоне 1-53, указывающий, к какой неделе года относится дата.
- Если в неделе, содержащей 1 января, на текущий год приходится менее 4 дней (например, если 1 января приходится на среду, эта неделя содержит только дни 1-3 января текущего года, всего 3 дня), то эта неделя относится к предыдущему году, а 1-я неделя текущего года начинается со следующего понедельника.
- Если неделя в конце декабря содержит в общей сложности менее 4 дней, она считается первой неделей следующего года
- Если входное значение равно NULL, возвращается NULL
Примеры
-- 2023-05-01 is Monday, belongs to week 18 of 2023
SELECT WEEKOFYEAR('2023-05-01') AS week_20230501;
+---------------+
| week_20230501 |
+---------------+
| 18 |
+---------------+
-- The week from 2023-01-02 to 2023-01-08 contains 7 days in 2023 (≥4), belongs to week 1 of 2023
SELECT WEEKOFYEAR('2023-01-02') AS week_20230102;
+---------------+
| week_20230102 |
+---------------+
| 1 |
+---------------+
-- 2024-01-01 (Monday) belongs to week 1 of 2024
SELECT WEEKOFYEAR('2024-01-01') AS week_20240101;
+---------------+
| week_20240101 |
+---------------+
| 1 |
+---------------+
-- NULL input (returns NULL)
SELECT WEEKOFYEAR(NULL) AS week_null_input;
+-----------------+
| week_null_input |
+-----------------+
| NULL |
+-----------------+