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)
Où 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.