Последнее обновление
DAYOFYEAR
Описание
Функция DAYOFYEAR используется для вычисления порядкового номера дня в текущем году по выражению даты или времени, то есть определяет, каким по счёту днём года является указанная дата. Возвращаемое значение — целое число в диапазоне от 1 (1 января) до 366 (31 декабря високосного года).
Поведение этой функции соответствует поведению функции dayofyear в MySQL
Псевдоним
- DOY
Синтаксис
DAYOFYEAR(<date_or_time_expr>)
Параметры
| Параметр | Описание |
|---|---|
<date_or_time_expr> | Допустимое выражение даты, поддерживающее типы DATE/DATETIME/TIMESTAMP_NS. Сведения о конкретных форматах даты и времени см. в разделах преобразование даты и времени и преобразование даты |
Возвращаемое значение
Возвращает целое число типа SMALLINT, представляющее порядковый номер дня в текущем году (1-366).
Особые случаи:
- Если <date_or_time_expr> имеет значение NULL, возвращается NULL;
- Для 29 февраля високосного года корректно вычисляется порядковый номер: 60-й день года.
Примеры
---Extract the day number in the year from datetime type
select dayofyear('2007-02-03 00:00:00');
+----------------------------------+
| dayofyear('2007-02-03 00:00:00') |
+----------------------------------+
| 34 |
+----------------------------------+
---Extract day number from date type
select dayofyear('2023-12-31');
+-------------------------+
| dayofyear('2023-12-31') |
+-------------------------+
| 365 |
+-------------------------+
---Calculate day number in a leap year
select dayofyear('2024-12-31');
+-------------------------+
| dayofyear('2024-12-31') |
+-------------------------+
| 366 |
+-------------------------+
---Input is NULL, returns NULL
select dayofyear(NULL);
+-----------------+
| dayofyear(NULL) |
+-----------------+
| NULL |
+-----------------+