sql >> Database >  >> RDS >> Mysql

TO_DAYS() Voorbeelden – MySQL

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() ).


  1. mysql_fetch_array retourneert slechts één rij

  2. SQLite-queryresultaten weergeven met verticale uitvoer

  3. Meer SQL, minder code, met PostgreSQL

  4. De onderliggende kolommen van een weergave verkrijgen op basis van de resultatenset