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.