MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment TO_DAYS() fonctionne dans MariaDB

Dans MariaDB, TO_DAYS() est une fonction de date et d'heure intégrée qui renvoie le nombre de jours depuis le début du calendrier standard (0000-00-00), en fonction d'une date donnée.

Vous passez la date à la fonction lorsque vous l'appelez.

Le TO_DAYS() la fonction est l'inverse de FROM_DAYS() fonction.

Syntaxe

La syntaxe ressemble à ceci :

TO_DAYS(date)

date est la date pour laquelle renvoyer le nombre de jours depuis 0000-00-00.

Exemple

Voici un exemple :

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

Résultat :

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

Basé sur la date d'aujourd'hui

Voici un exemple qui utilise NOW() pour retourner le nombre de jours entre 0000-00-00 et aujourd'hui :

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

Résultat :

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

Arguments invalides

Lorsqu'un argument invalide est passé, TO_DAYS() renvoie NULL avec un avertissement :

SELECT TO_DAYS('Oops!');

Résultat :

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

Vérifiez l'avertissement :

SHOW WARNINGS;

Résultat :

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

Argument manquant

Appel de TO_DAYS() avec le mauvais nombre d'arguments, ou sans passer d'arguments, génère une erreur :

SELECT TO_DAYS();

Résultat :

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

Et un autre exemple :

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

Résultat :

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

Calendrier pré-grégorien

Le TO_DAYS() La fonction n'est pas conçue pour être utilisée avec des dates antérieures à l'avènement du calendrier grégorien (qui a été introduit en octobre 1582). Les résultats ne seront pas fiables car ils ne tiennent pas compte des jours perdus lorsque le calendrier est passé du calendrier julien.