В MariaDB, MAKEDATE() е вградена функция за дата и час, която връща дата въз основа на годината и деня от годината, предоставени като аргументи.
Синтаксис
Синтаксисът е така:
MAKEDATE(year,dayofyear) Пример
Ето един пример:
SELECT MAKEDATE(2030, 10); Резултат:
+--------------------+ | MAKEDATE(2030, 10) | +--------------------+ | 2030-01-10 | +--------------------+
И още един:
SELECT MAKEDATE(2030, 100); Резултат:
+---------------------+ | MAKEDATE(2030, 100) | +---------------------+ | 2030-04-10 | +---------------------+
Върнете дата в бъдеща година
Ако вторият аргумент (ден от годината) е по-голям от броя на дните в годината, тогава получената дата е бъдеща година.
Пример:
SELECT
MAKEDATE(2030, 366),
MAKEDATE(2030, 700),
MAKEDATE(2030, 7000); Резултат:
+---------------------+---------------------+----------------------+ | MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) | +---------------------+---------------------+----------------------+ | 2031-01-01 | 2031-12-01 | 2049-03-01 | +---------------------+---------------------+----------------------+
Нула дни
Вторият (ден от годината) аргумент трябва да е по-голям от 0 или резултатът е null .
Пример:
SELECT
MAKEDATE(2030, 366),
MAKEDATE(2030, 700),
MAKEDATE(2030, 7000); Резултат:
+---------------------+---------------------+----------------------+ | MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) | +---------------------+---------------------+----------------------+ | 2031-01-01 | 2031-12-01 | 2049-03-01 | +---------------------+---------------------+----------------------+
Липсващ аргумент
Извикване на MAKEDATE() с грешен брой аргументи или без подаване на аргументи, води до грешка:
SELECT MAKEDATE(); Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'
И още един пример:
SELECT MAKEDATE( 2020, 10, 20 ); Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'
Намерете време
Вижте също MAKETIME() за конструиране на времева стойност от неговите часове, минути и секунди.