Dans MySQL, le FROM_DAYS()
renvoie une valeur de date basée sur le nombre de jours fourni en argument.
Cet article contient des exemples à démontrer.
Syntaxe
La syntaxe ressemble à ceci :
FROM_DAYS(N)
Où N
est le nombre de jours à partir du jour 0 .
Exemple
Voici un exemple pour illustrer.
SELECT FROM_DAYS(366);
Résultat :
+----------------+ | FROM_DAYS(366) | +----------------+ | 0001-01-01 | +----------------+
Bien que notez que la documentation MySQL indique que cette fonction n'est pas destinée à être utilisée avec des valeurs qui précèdent l'avènement du calendrier grégorien (1582).
Voici un exemple avec une date ultérieure :
SELECT FROM_DAYS(645000);
Résultat :
+-------------------+ | FROM_DAYS(645000) | +-------------------+ | 1765-12-13 | +-------------------+
Et encore une date ultérieure :
SELECT FROM_DAYS(745000);
Résultat :
+-------------------+ | FROM_DAYS(745000) | +-------------------+ | 2039-09-28 | +-------------------+
FROM_DAYS() contre TO_DAYS()
Le FROM_DAYS()
la fonction est l'opposé de TO_DAYS()
, qui, étant donné une date date, renvoie le numéro du jour. Voici un exemple pour illustrer la relation entre ces deux fonctions :
SELECT CURDATE(), TO_DAYS(CURDATE()), FROM_DAYS(TO_DAYS(CURDATE()));
Résultat :
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
Donc, dans cet exemple, j'utilise TO_DAYS()
pour renvoyer le nombre de jours à partir de la date actuelle. J'utilise ensuite FROM_DAYS()
pour renvoyer la date à partir de cette valeur (qui, comme prévu, revient à la valeur d'origine de CURDATE()
).