In MySQL kunt u de TO_DAYS()
. gebruiken functie om erachter te komen hoeveel dagen er zijn verstreken sinds dag 0 voor een bepaalde datum. U kunt bijvoorbeeld de datum van vandaag doorgeven aan deze functie, en het zal teruggeven hoeveel dagen het geleden is sinds dag 0 .
Dit artikel bevat voorbeelden om te demonstreren.
Syntaxis
De syntaxis gaat als volgt:
TO_DAYS(date)
Waar date
is de datum die in de berekening moet worden gebruikt.
Voorbeeld
Hier is een voorbeeld om te demonstreren.
SELECT TO_DAYS('1999-12-31');
Resultaat:
+-----------------------+ | TO_DAYS('1999-12-31') | +-----------------------+ | 730484 | +-----------------------+
Merk op dat de MySQL-documentatie aangeeft dat deze functie niet bedoeld is voor gebruik met waarden die voorafgaan aan de komst van de Gregoriaanse kalender (1582). Dit komt omdat er geen rekening wordt gehouden met de dagen die verloren zijn gegaan toen de kalender werd gewijzigd.
Voorbeeld 2 – Huidige datum
Hier is een voorbeeld met de huidige datum.
SELECT CURDATE(), TO_DAYS(CURDATE());
Resultaat:
+------------+--------------------+ | CURDATE() | TO_DAYS(CURDATE()) | +------------+--------------------+ | 2018-06-26 | 737236 | +------------+--------------------+
Eerst gebruik ik de CURDATE()
functie om de huidige datum terug te geven, dan geef ik die functie door aan de TO_DAYS()
functie om het aantal dagen terug te geven sinds dag 0 .
TO_DAYS() versus FROM_DAYS()
De FROM_DAYS()
functie is het tegenovergestelde van TO_DAYS()
, die, gegeven een datumdatum, het dagnummer retourneert. Hier is een voorbeeld om de relatie tussen deze twee functies te demonstreren:
SELECT CURDATE(), TO_DAYS(CURDATE()), FROM_DAYS(TO_DAYS(CURDATE()));
Resultaat:
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
Dus in dit voorbeeld gebruik ik TO_DAYS()
om het aantal dagen vanaf de huidige datum te retourneren. Ik gebruik dan FROM_DAYS()
om de datum van die waarde terug te geven (die, zoals verwacht, teruggaat naar de oorspronkelijke waarde van CURDATE()
).