sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer TO_DAYS() i MariaDB

I MariaDB, TO_DAYS() er en indbygget dato- og tidsfunktion, der returnerer antallet af dage fra starten af ​​standardkalenderen (0000-00-00), baseret på en given dato.

Du sender datoen videre til funktionen, når du kalder den.

TO_DAYS() funktion er det modsatte af FROM_DAYS() funktion.

Syntaks

Syntaksen ser sådan ud:

TO_DAYS(date)

Hvor date er den dato, hvor antallet af dage siden 0000-00-00 skal returneres.

Eksempel

Her er et eksempel:

SELECT TO_DAYS('2028-12-31');

Resultat:

+-----------------------+
| TO_DAYS('2028-12-31') |
+-----------------------+
|                741077 |
+-----------------------+

Baseret på dagens dato

Her er et eksempel, der bruger NOW() for at returnere antallet af dage mellem 0000-00-00 og i dag:

SELECT
    NOW(),
    TO_DAYS(NOW());

Resultat:

+---------------------+----------------+
| NOW()               | TO_DAYS(NOW()) |
+---------------------+----------------+
| 2021-05-23 09:56:45 |         738298 |
+---------------------+----------------+

Ugyldige argumenter

Når et ugyldigt argument sendes, TO_DAYS() returnerer NULL med en advarsel:

SELECT TO_DAYS('Oops!');

Resultat:

+------------------+
| TO_DAYS('Oops!') |
+------------------+
|             NULL |
+------------------+
1 row in set, 1 warning (0.000 sec)

Tjek advarslen:

SHOW WARNINGS;

Resultat:

+---------+------+-----------------------------------+
| Level   | Code | Message                           |
+---------+------+-----------------------------------+
| Warning | 1292 | Incorrect datetime value: 'Oops!' |
+---------+------+-----------------------------------+

Manglende argument

Kalder TO_DAYS() med det forkerte antal argumenter, eller uden at sende nogen argumenter, resulterer det i en fejl:

SELECT TO_DAYS();

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'

Og endnu et eksempel:

SELECT TO_DAYS( '2028-12-31', '2029-12-31' );

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'

Pregegoriansk kalender

TO_DAYS() funktion er ikke designet til brug med datoer før fremkomsten af ​​den gregorianske kalender (som blev introduceret i oktober 1582). Resultaterne vil ikke være pålidelige, da de ikke tager højde for de tabte dage, hvor kalenderen blev ændret fra den julianske kalender.


  1. Multi-Cloud Full Database Cluster Failover indstillinger for PostgreSQL

  2. hvordan man sletter dublerede rækker fra en tabel i mysql

  3. IN vs OR af Oracle, hvilken hurtigere?

  4. Sådan fremhæves poster eller værdier i en Microsoft Access-rapport ved hjælp af betinget formatering