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.