Перейти к основному содержимому
Версия: 2.0.x

makedate

Создает и возвращает дату на основе заданных значений года и дня года.

Эта функция поддерживается с версии 3.1.

Синтаксис

DATE makedate(INT year, INT dayOfYear);

Параметры

  • year: диапазон от 0 до 9999. Если этот диапазон превышен, возвращается NULL. Поддерживаемый тип данных - INT.
  • dayOfYear: день года. Поддерживаемый тип данных - INT. Для поддержания той же семантики, что и функция dayofyear, если это число больше 366 или равно 366 в невисокосном году, это не является днем года.

Возвращаемое значение

Возвращает дату на dayOfYear-й день заданного года.

  • year должен быть в диапазоне [0,9999]. В противном случае возвращается NULL.
  • dayOfYear должен быть между 1 и количеством дней в текущем году (365 в обычные годы, 366 в високосные). В противном случае возвращается NULL.
  • Результат также равен NULL, если любой входной параметр равен NULL.

Примеры

mysql> select makedate(2023,0);
+-------------------+
| makedate(2023, 0) |
+-------------------+
| NULL |
+-------------------+

mysql> select makedate(2023,32);
+--------------------+
| makedate(2023, 32) |
+--------------------+
| 2023-02-01 |
+--------------------+

mysql> select makedate(2023,365);
+---------------------+
| makedate(2023, 365) |
+---------------------+
| 2023-12-31 |
+---------------------+

mysql> select makedate(2023,366);
+---------------------+
| makedate(2023, 366) |
+---------------------+
| NULL |
+---------------------+

mysql> select makedate(9999,365);
+---------------------+
| makedate(9999, 365) |
+---------------------+
| 9999-12-31 |
+---------------------+

mysql> select makedate(10000,1);
+--------------------+
| makedate(10000, 1) |
+--------------------+
| NULL |
+--------------------+

Ключевые слова

MAKEDATE,MAKE