Voici quelques façons de renvoyer le nombre de jours d'un mois donné dans Oracle Database. Il peut s'agir du nombre de jours du mois en cours ou du nombre de jours d'un mois basé sur une date spécifiée.
Option 1
Voici notre première option :
SELECT CAST(TO_CHAR(LAST_DAY(date '2030-01-17'), 'DD') AS INT)
FROM DUAL;
Résultat :
31
Le LAST_DAY()
La fonction renvoie le dernier jour du mois en fonction de la date spécifiée. En passant ceci à TO_CHAR()
au format DD
pour le jour du mois, on obtient le numéro du dernier jour du mois. Ce nombre représente le nombre de jours dans le mois.
Nous utilisons ensuite le CAST()
fonction pour convertir le résultat en entier.
Option 2
Voici une autre option :
SELECT
TRUNC(LAST_DAY(date '2030-08-20'))-TRUNC(date '2030-08-20', 'MM')
FROM DUAL;
Résultat :
30
Le TRUNC(date)
renvoie la valeur de date donnée avec la partie heure du jour tronquée à l'unité fournie dans le modèle de format spécifié.