In MariaDB, TO_DAYS()
è una funzione di data e ora incorporata che restituisce il numero di giorni dall'inizio del calendario standard (0000-00-00), in base a una determinata data.
Passi la data alla funzione quando la chiami.
Il TO_DAYS()
la funzione è l'inverso di FROM_DAYS()
funzione.
Sintassi
La sintassi è questa:
TO_DAYS(date)
Dove date
è la data per la quale restituire il numero di giorni trascorsi da 0000-00-00.
Esempio
Ecco un esempio:
SELECT TO_DAYS('2028-12-31');
Risultato:
+-----------------------+ | TO_DAYS('2028-12-31') | +-----------------------+ | 741077 | +-----------------------+
In base alla data odierna
Ecco un esempio che utilizza NOW()
per restituire il numero di giorni tra 0000-00-00 e oggi:
SELECT
NOW(),
TO_DAYS(NOW());
Risultato:
+---------------------+----------------+ | NOW() | TO_DAYS(NOW()) | +---------------------+----------------+ | 2021-05-23 09:56:45 | 738298 | +---------------------+----------------+
Argomenti non validi
Quando viene passato un argomento non valido, TO_DAYS()
restituisce NULL
con un avviso:
SELECT TO_DAYS('Oops!');
Risultato:
+------------------+ | TO_DAYS('Oops!') | +------------------+ | NULL | +------------------+ 1 row in set, 1 warning (0.000 sec)
Controlla l'avviso:
SHOW WARNINGS;
Risultato:
+---------+------+-----------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------+ | Warning | 1292 | Incorrect datetime value: 'Oops!' | +---------+------+-----------------------------------+
Argomento mancante
Chiamando TO_DAYS()
con il numero errato di argomenti, o senza passare alcun argomento, si verifica un errore:
SELECT TO_DAYS();
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'
E un altro esempio:
SELECT TO_DAYS( '2028-12-31', '2029-12-31' );
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'
Calendario pregregoriano
Il TO_DAYS()
la funzione non è progettata per l'uso con date precedenti all'avvento del calendario gregoriano (che è stato introdotto nell'ottobre 1582). I risultati non saranno affidabili poiché non tengono conto dei giorni persi quando il calendario è cambiato rispetto al calendario giuliano.