LAST_DAY |
Dernier jour |
|---|---|
| Oracle Database SQL | Oracle version 6 ou supérieure |
Syntaxe
| last_day(date) |
Paramètres
| Nom | Description |
|---|---|
| date | Ce paramètre permet d'indiquer la date à vérifier |
Description
Cette fonction permet de retourner le dernier jour du mois de la date spécifié.
Remarques
- Fonction de manipulation de dates simple et directe : La fonction LAST_DAY(date) permet de connaître rapidement le dernier jour du mois auquel appartient une date donnée. Cela évite d'avoir à calculer manuellement la longueur du mois ou à gérer les particularités des mois comme février ou les années bissextiles.
- Très utile pour la clôture comptable ou financière : Dans les applications financières, il est fréquent d'avoir besoin de la date de fin de mois pour effectuer des agrégations, générer des rapports ou effectuer des prévisions. LAST_DAY offre une manière simple d'obtenir cette valeur sans recourir à des fonctions complexes ou des calendriers spécifiques.
- Compatible avec différents formats de dates : La fonction accepte n'importe quelle expression de type DATE, que ce soit une constante, une colonne, une expression ou une date construite dynamiquement. Cela permet une grande flexibilité dans les requêtes, notamment dans les rapports mensuels ou les comparaisons périodiques.
- Utilisable avec des colonnes de type DATE ou TIMESTAMP : Même si la fonction est définie pour les types DATE, elle fonctionne également avec des colonnes de type TIMESTAMP, en ignorant la composante horaire et ne tenant compte que de la partie calendaire. Cela évite d'avoir à convertir manuellement les formats.
- Retourne toujours une date, jamais NULL : Tant que l'argument date n'est pas NULL, LAST_DAY(date) retourne systématiquement une valeur valide correspondant à la fin du mois. Cela garantit un comportement prévisible et évite les vérifications supplémentaires dans la requête.
- Fonction déterministe et stable : LAST_DAY est une fonction déterministe : elle retourne toujours le même résultat pour une même entrée. Elle ne dépend ni de la session utilisateur, ni du calendrier système, ce qui en fait une fonction fiable pour les traitements automatisés.
- Combine bien avec d'autres fonctions de date : On peut facilement combiner LAST_DAY avec d'autres fonctions comme ADD_MONTHS, TRUNC, ou NEXT_DAY pour générer des calendriers, segmenter des périodes, ou créer des intervalles temporels personnalisés pour des analyses périodiques.
- Indépendante du format d'affichage de la date : Même si la sortie de LAST_DAY peut apparaître différemment selon la session (NLS_DATE_FORMAT), la valeur retournée est bien une date complète, incluant l'année, le mois, et le dernier jour du mois, avec l'heure par défaut à minuit.
- Particulièrement utile dans les requêtes de regroupement : Lorsqu'on souhaite regrouper des données par mois, l'utilisation de LAST_DAY(date) permet d'obtenir une référence unique de fin de mois, contrairement à un regroupement sur le mois seul pouvant prêter à confusion si l'on utilise des formats ambigus.
- Facilite la création d'intervalles fermés : Dans certains rapports, on veut créer des intervalles de type [début_mois, fin_mois]. LAST_DAY est alors indispensable pour définir correctement la borne supérieure de l'intervalle, en complément de TRUNC(date, 'MM') pour la borne inférieure.
- Gestion automatique des mois irréguliers : Les mois avec un nombre de jours variable (comme février ou les mois de 30 jours) sont automatiquement pris en compte. LAST_DAY retourne correctement le 28, 29, 30 ou 31 du mois selon le calendrier réel, sans intervention manuelle.
- Utile pour les programmations et échéanciers : Dans les systèmes de gestion d'abonnements ou de paiements, on peut utiliser LAST_DAY pour fixer une échéance à la fin du mois, quel que soit le jour courant. Cela permet de construire des échéanciers robustes et cohérents.
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015