sql >> Databasteknik >  >> RDS >> MariaDB

Hur TO_DAYS() fungerar i MariaDB

I MariaDB, TO_DAYS() är en inbyggd datum- och tidsfunktion som returnerar antalet dagar från början av standardkalendern (0000-00-00), baserat på ett givet datum.

Du skickar datumet till funktionen när du ringer den.

TO_DAYS() funktion är motsatsen till FROM_DAYS() funktion.

Syntax

Syntaxen ser ut så här:

TO_DAYS(date)

Där date är det datum för vilket antalet dagar sedan 0000-00-00 ska returneras.

Exempel

Här är ett exempel:

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

Resultat:

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

Baserat på dagens datum

Här är ett exempel som använder NOW() för att returnera antalet dagar mellan 0000-00-00 och idag:

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

Resultat:

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

Ogiltiga argument

När ett ogiltigt argument skickades, TO_DAYS() returnerar NULL med en varning:

SELECT TO_DAYS('Oops!');

Resultat:

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

Kontrollera varningen:

SHOW WARNINGS;

Resultat:

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

Argument saknas

Anropar TO_DAYS() med fel antal argument, eller utan att skicka några argument, resulterar i ett fel:

SELECT TO_DAYS();

Resultat:

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

Och ett annat exempel:

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

Resultat:

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

Förgregoriansk kalender

TO_DAYS() Funktionen är inte designad för användning med datum före tillkomsten av den gregorianska kalendern (som introducerades i oktober 1582). Resultaten kommer inte att vara tillförlitliga eftersom det inte tar hänsyn till de förlorade dagarna när kalendern ändrades från den julianska kalendern.


  1. Få den första måndagen i en månad i SQLite

  2. Hur man väljer jämförelse av två kolumner som en kolumn i Oracle

  3. 4 sätt att infoga flera rader i Oracle

  4. SQL Server SHOWPLAN_ALL