Lorsque vous utilisez MySQL, vous pouvez utiliser le MAKEDATE()
fonction pour renvoyer une date à partir des parties année et jour de l'année.
En d'autres termes, vous fournissez deux arguments ; l'un étant l'année et l'autre le jour de l'année. Le MAKEDATE()
fonction renverra alors la valeur de date basée sur ces deux arguments.
Syntaxe
La syntaxe ressemble à ceci :
MAKEDATE(année,jourdel'année)
Où year
est la partie année, et dayofyear
est la partie jour de l'année.
Exemple 1 - Utilisation de base
Voici un exemple pour illustrer.
SELECT MAKEDATE(2021,10);
Résultat :
+-------------------+| MAKEDATE(2021,10) |+-------------------+| 2021-01-10 |+------------------+
Donc parce que 10
signifie le 10e jour de l'année, cela signifie que c'est le 10 janvier.
Exemple 2 - Une valeur de jour de l'année plus grande
Voici un exemple qui utilise une valeur de jour de l'année plus grande.
SELECT MAKEDATE(2021,350);
Résultat :
+--------------------+| MAKEDATE(2021,350) |+--------------------+| 2021-12-16 |+--------------------+
Donc, dans ce cas, le 350e jour de l'année correspond au 16 décembre.
Vous pouvez également utiliser des valeurs supérieures à 365 (ou 366 pour les années bissextiles). Si vous faites cela, le résultat passera à une nouvelle année civile si nécessaire.
SELECT MAKEDATE(2021,500), MAKEDATE(2021,5000);
Résultat :
+--------------------+---------------------+| DATE(2021,500) | DATE(2021,5000) |+--------------------+--------------------- +| 2022-05-15 | 2034-09-09 |+--------------------+---------------------+
Exemple 3 – Années bissextiles
Tenez compte des années bissextiles lorsque vous utilisez cette fonction.
SELECT MAKEDATE(2020,350), MAKEDATE(2021,350);
Résultat :
+--------------------+--------------------+| MAKEDATE(2020,350) | DATE(2021,350) |+--------------------+--------------------+ | 2020-12-15 | 2021-12-16 |+--------------------+--------------------+Dans ce cas, 2020 est une année bissextile. Et parce que février a un jour supplémentaire pendant les années bissextiles, cela affecte le résultat des valeurs restantes du jour de l'année.
Exemple 4 - Valeurs nulles
Si vous fournissez une valeur nulle, le résultat est
NULL
.SELECT MAKEDATE(2020,0);Résultat :
+------------------+| MAKEDATE(2020,0) |+------------------+| NULL |+------------------+