Перейти к основному содержимому

makedate

Описание

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

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

Синтаксис

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 |
+--------------------+

keyword

MAKEDATE,MAKE