In MySQL, puoi usare TO_DAYS()
funzione per scoprire quanti giorni sono trascorsi dal giorno 0 per una data particolare. Ad esempio, puoi passare la data odierna a questa funzione e restituirà quanti giorni sono trascorsi dal giorno 0 .
Questo articolo contiene esempi da dimostrare.
Sintassi
La sintassi è questa:
TO_DAYS(date)
Dove date
è la data da utilizzare nel calcolo.
Esempio
Ecco un esempio da dimostrare.
SELECT TO_DAYS('1999-12-31');
Risultato:
+-----------------------+ | TO_DAYS('1999-12-31') | +-----------------------+ | 730484 | +-----------------------+
Si noti che la documentazione MySQL avverte che questa funzione non è destinata all'uso con valori che precedono l'avvento del calendario gregoriano (1582). Questo perché non tiene conto dei giorni persi quando è stato modificato il calendario.
Esempio 2 – Data corrente
Ecco un esempio che utilizza la data corrente.
SELECT CURDATE(), TO_DAYS(CURDATE());
Risultato:
+------------+--------------------+ | CURDATE() | TO_DAYS(CURDATE()) | +------------+--------------------+ | 2018-06-26 | 737236 | +------------+--------------------+
Per prima cosa, utilizzo CURDATE()
funzione per restituire la data corrente, quindi passo quella funzione a TO_DAYS()
funzione per restituire il numero di giorni trascorsi dal giorno 0 .
TO_DAYS() vs FROM_DAYS()
Il FROM_DAYS()
la funzione è l'opposto di TO_DAYS()
, che, data una data, restituisce il numero del giorno. Ecco un esempio per dimostrare la relazione tra queste due funzioni:
SELECT CURDATE(), TO_DAYS(CURDATE()), FROM_DAYS(TO_DAYS(CURDATE()));
Risultato:
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
Quindi in questo esempio uso TO_DAYS()
per restituire il numero di giorni dalla data corrente. Quindi uso FROM_DAYS()
per restituire la data da quel valore (che, come previsto, torna al valore originale di CURDATE()
).