In MariaDB, MAKEDATE()
è una funzione di data e ora incorporata che restituisce una data, in base all'anno e al giorno dell'anno forniti come argomenti.
Sintassi
La sintassi è questa:
MAKEDATE(year,dayofyear)
Esempio
Ecco un esempio:
SELECT MAKEDATE(2030, 10);
Risultato:
+--------------------+ | MAKEDATE(2030, 10) | +--------------------+ | 2030-01-10 | +--------------------+
E un altro:
SELECT MAKEDATE(2030, 100);
Risultato:
+---------------------+ | MAKEDATE(2030, 100) | +---------------------+ | 2030-04-10 | +---------------------+
Restituisci una data in un anno futuro
Se il secondo argomento (giorno dell'anno) è maggiore del numero di giorni dell'anno, la data risultante è un anno futuro.
Esempio:
SELECT
MAKEDATE(2030, 366),
MAKEDATE(2030, 700),
MAKEDATE(2030, 7000);
Risultato:
+---------------------+---------------------+----------------------+ | MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) | +---------------------+---------------------+----------------------+ | 2031-01-01 | 2031-12-01 | 2049-03-01 | +---------------------+---------------------+----------------------+
Zero giorni
Il secondo argomento (giorno dell'anno) deve essere maggiore di 0
oppure il risultato è null
.
Esempio:
SELECT
MAKEDATE(2030, 366),
MAKEDATE(2030, 700),
MAKEDATE(2030, 7000);
Risultato:
+---------------------+---------------------+----------------------+ | MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) | +---------------------+---------------------+----------------------+ | 2031-01-01 | 2031-12-01 | 2049-03-01 | +---------------------+---------------------+----------------------+
Argomento mancante
Chiamando MAKEDATE()
con il numero errato di argomenti, o senza passare alcun argomento, genera un errore:
SELECT MAKEDATE();
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'
E un altro esempio:
SELECT MAKEDATE( 2020, 10, 20 );
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'
Prendi un momento
Vedi anche MAKETIME()
per costruire un valore temporale dalle sue ore, minuti e secondi.