In MariaDB, MAKEDATE()
is een ingebouwde datum- en tijdfunctie die een datum retourneert, gebaseerd op het jaar en de dag van het jaar die als argumenten zijn opgegeven.
Syntaxis
De syntaxis gaat als volgt:
MAKEDATE(year,dayofyear)
Voorbeeld
Hier is een voorbeeld:
SELECT MAKEDATE(2030, 10);
Resultaat:
+--------------------+ | MAKEDATE(2030, 10) | +--------------------+ | 2030-01-10 | +--------------------+
En nog een:
SELECT MAKEDATE(2030, 100);
Resultaat:
+---------------------+ | MAKEDATE(2030, 100) | +---------------------+ | 2030-04-10 | +---------------------+
Retourneer een datum in een toekomstig jaar
Als het tweede argument (dag van het jaar) groter is dan het aantal dagen in het jaar, dan is de resulterende datum een toekomstig jaar.
Voorbeeld:
SELECT
MAKEDATE(2030, 366),
MAKEDATE(2030, 700),
MAKEDATE(2030, 7000);
Resultaat:
+---------------------+---------------------+----------------------+ | MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) | +---------------------+---------------------+----------------------+ | 2031-01-01 | 2031-12-01 | 2049-03-01 | +---------------------+---------------------+----------------------+
Nul dagen
Het tweede argument (dag van het jaar) moet groter zijn dan 0
of het resultaat is null
.
Voorbeeld:
SELECT
MAKEDATE(2030, 366),
MAKEDATE(2030, 700),
MAKEDATE(2030, 7000);
Resultaat:
+---------------------+---------------------+----------------------+ | MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) | +---------------------+---------------------+----------------------+ | 2031-01-01 | 2031-12-01 | 2049-03-01 | +---------------------+---------------------+----------------------+
Ontbrekend argument
MAKEDATE()
. aanroepen met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten, resulteert in een fout:
SELECT MAKEDATE();
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'
En nog een voorbeeld:
SELECT MAKEDATE( 2020, 10, 20 );
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'
Maak een tijd
Zie ook MAKETIME()
voor het construeren van een tijdwaarde uit de uren, minuten en seconden.