Lorsque vous utilisez MySQL, vous pouvez utiliser le LAST_DAY()
fonction pour renvoyer le dernier jour d'un mois donné.
Vous pouvez fournir la date actuelle ou vous pouvez fournir une autre date spécifiée (par exemple, une date d'une colonne dans une base de données) et LAST_DAY()
renverra le dernier jour du mois pour cette date.
Syntaxe
La syntaxe ressemble à ceci :
LAST_DAY(date)
Où date
est la date pour laquelle vous souhaitez que le dernier jour soit renvoyé.
Exemple 1 - Utilisation de base
Voici un exemple pour montrer comment cela fonctionne.
SELECT LAST_DAY('2021-01-01');
Résultat :
+------------------------+| LAST_DAY('2021-01-01') |+------------------------+| 2021-01-31 |+------------------------+
Il prend donc la date que nous fournissons comme argument, puis renvoie le dernier jour de ce mois.
Exemple 2 – Années bissextiles
Comme vous vous en doutez, il est suffisamment intelligent pour pouvoir gérer les années bissextiles.
Année non bissextile
SELECT LAST_DAY('2021-02-01');
Résultat :
+------------------------+| LAST_DAY('2021-02-01') |+------------------------+| 2021-02-28 |+-----------------------+
Année bissextile
SELECT LAST_DAY('2020-02-01');
Résultat :
+------------------------+| LAST_DAY('2020-02-01') |+------------------------+| 2020-02-29 |+------------------------+
Exemple 3 - Valeurs DateHeure
Vous pouvez également fournir une datetime valeur.
SELECT LAST_DAY('2021-02-01 23:59:15');
Résultat :
+---------------------------------------------+| LAST_DAY('2021-02-01 23:59:15') |+-------------------------------- +| 2021-02-28 |+---------------------------------------------+
Exemple 4 - Valeurs non valides
Si vous fournissez une date non valide, une valeur nulle sera renvoyée.
SELECT LAST_DAY('2021-02-32');
Résultat :
+------------------------+| LAST_DAY('2021-02-32') |+------------------------+| NULL |+-----------------------+1 ligne dans l'ensemble, 1 avertissement (0.00 sec)
Exemple 5 - Un exemple de base de données
Voici un exemple de cette fonction utilisée dans une requête de base de données.
USE sakila;SELECT payment_date AS 'Date/Heure', LAST_DAY(payment_date) AS 'Dernier jour du mois'FROM paymentWHERE payment_id =1;
Résultat :
+---------------------+-----------------------+| Date/Heure | Dernier jour du mois |+---------------------+----------------------+| 2005-05-25 11:30:37 | 2005-05-31 |+---------------------+-------------------+