sql >> Databáze >  >> RDS >> MariaDB

Jak TO_DAYS() funguje v MariaDB

V MariaDB, TO_DAYS() je vestavěná funkce data a času, která vrací počet dní od začátku standardního kalendáře (0000-00-00) na základě daného data.

Datum předáte funkci, když ji voláte.

TO_DAYS() Funkce je opakem funkce FROM_DAYS() funkce.

Syntaxe

Syntaxe vypadá takto:

TO_DAYS(date)

Kde date je datum, pro které se má vrátit počet dní od 0000-00-00.

Příklad

Zde je příklad:

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

Výsledek:

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

Na základě dnešního data

Zde je příklad, který používá NOW() vrátit počet dní mezi 0000-00-00 a dneškem:

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

Výsledek:

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

Neplatné argumenty

Při předání neplatného argumentu TO_DAYS() vrátí NULL s varováním:

SELECT TO_DAYS('Oops!');

Výsledek:

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

Zkontrolujte varování:

SHOW WARNINGS;

Výsledek:

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

Chybí argument

Volání TO_DAYS() s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:

SELECT TO_DAYS();

Výsledek:

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

A další příklad:

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

Výsledek:

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

Předgregoriánský kalendář

TO_DAYS() funkce není navržena pro použití s ​​daty před příchodem gregoriánského kalendáře (který byl zaveden v říjnu 1582). Výsledky nebudou spolehlivé, protože nezohledňují ztracené dny, kdy se kalendář změnil oproti juliánskému.


  1. Jak získat první řádek na skupinu v PostgreSQL

  2. Vyřešte chybu PLS-00323 v Oracle

  3. Mohu mít cizí klíč odkazující na sloupec v zobrazení na serveru SQL?

  4. Pochopení a čtení katalogu systému PostgreSQL