Когато използвате MySQL, можете да използвате MAKEDATE()
функция за връщане на дата от частите за годината и деня от годината.
С други думи, вие предоставяте два аргумента; едното е годината, а другото е ден от годината. MAKEDATE()
след това функцията ще върне стойността на датата въз основа на тези два аргумента.
Синтаксис
Синтаксисът е така:
MAKEDATE(година,ден от годината)
Където year
е частта от годината и dayofyear
е частта за деня на годината.
Пример 1 – Основна употреба
Ето пример за демонстрация.
ИЗБЕРЕТЕ MAKEDATE(2021,10);
Резултат:
+------------------+| MAKEDATE(2021,10) |+------------------+| 2021-01-10 |+------------------+
Тъй като 10
означава 10-ия ден от годината, това означава, че е 10-ти януари.
Пример 2 – По-голяма стойност за ден от годината
Ето пример, който използва по-голяма стойност за ден от годината.
ИЗБЕРЕТЕ MAKEDATE(2021,350);
Резултат:
+-------------------+| MAKEDATE(2021,350) |+-------------------+| 2021-12-16 |+-------------------+
Така че в този случай 350-ият ден от годината води до 16 декември.
Можете също да използвате стойности, по-големи от 365 (или 366 за високосна години). Ако направите това, резултатът ще се премести в нова календарна година според изискванията.
ИЗБЕРЕТЕ MAKEDATE(2021,500), MAKEDATE(2021,5000);
Резултат:
+--------------------+---------------------+| MAKEDATE(2021,500) | MAKEDATE(2021,5000) |+-------------------+--------------------- +| 2022-05-15 | 2034-09-09 |+-------------------+---------------------+
Пример 3 – Високосни години
Имайте предвид високосните години, когато използвате тази функция.
ИЗБЕРЕТЕ MAKEDATE(2020,350), MAKEDATE(2021,350);
Резултат:
+--------------------+--------------------+| MAKEDATE(2020,350) | MAKEDATE(2021,350) |+-------------------+-------------------+ | 15.12.2020 | 2021-12-16 |+-------------------+-------------------+предварително>В този случай 2020 г. е високосна. И тъй като февруари има допълнителен ден през високосните години, това се отразява на резултата от останалите стойности за деня от годината.
Пример 4 – Нулеви стойности
Ако предоставите нулева стойност, резултатът е
NULL
.ИЗБЕРЕТЕ MAKEDATE(2020,0);Резултат:
+-----------------+| MAKEDATE(2020,0) |+-----------------+| NULL |+------------------+