V MariaDB MAKEDATE() je vestavěná funkce data a času, která vrací datum na základě roku a dne v roce poskytnutých jako argumenty.
Syntaxe
Syntaxe vypadá takto:
MAKEDATE(year,dayofyear) Příklad
Zde je příklad:
SELECT MAKEDATE(2030, 10); Výsledek:
+--------------------+ | MAKEDATE(2030, 10) | +--------------------+ | 2030-01-10 | +--------------------+
A další:
SELECT MAKEDATE(2030, 100); Výsledek:
+---------------------+ | MAKEDATE(2030, 100) | +---------------------+ | 2030-04-10 | +---------------------+
Vrácení data v budoucím roce
Pokud je druhý argument (den v roce) větší než počet dní v roce, pak je výsledné datum budoucí rok.
Příklad:
SELECT
MAKEDATE(2030, 366),
MAKEDATE(2030, 700),
MAKEDATE(2030, 7000); Výsledek:
+---------------------+---------------------+----------------------+ | MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) | +---------------------+---------------------+----------------------+ | 2031-01-01 | 2031-12-01 | 2049-03-01 | +---------------------+---------------------+----------------------+
Nula dnů
Druhý argument (den v roce) musí být větší než 0 nebo výsledek je null .
Příklad:
SELECT
MAKEDATE(2030, 366),
MAKEDATE(2030, 700),
MAKEDATE(2030, 7000); Výsledek:
+---------------------+---------------------+----------------------+ | MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) | +---------------------+---------------------+----------------------+ | 2031-01-01 | 2031-12-01 | 2049-03-01 | +---------------------+---------------------+----------------------+
Chybí argument
Volání MAKEDATE() s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:
SELECT MAKEDATE(); Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'
A další příklad:
SELECT MAKEDATE( 2020, 10, 20 ); Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'
Udělejte si čas
Viz také MAKETIME() pro konstrukci časové hodnoty z jejích hodin, minut a sekund.