Hier sind einige Möglichkeiten, die Anzahl der Tage in einem bestimmten Monat in Oracle Database zurückzugeben. Dies kann die Anzahl der Tage im aktuellen Monat oder die Anzahl der Tage in einem Monat basierend auf einem bestimmten Datum sein.
Möglichkeit 1
Hier ist unsere erste Option:
SELECT CAST(TO_CHAR(LAST_DAY(date '2030-01-17'), 'DD') AS INT)
FROM DUAL;
Ergebnis:
31
Der LAST_DAY()
Die Funktion gibt den letzten Tag des Monats basierend auf dem angegebenen Datum zurück. Indem Sie dies an TO_CHAR()
übergeben im Format DD
für den Tag des Monats erhalten wir die Nummer des letzten Tages des Monats. Diese Zahl steht für die Anzahl der Tage im Monat.
Wir verwenden dann den CAST()
Funktion, um das Ergebnis in eine ganze Zahl umzuwandeln.
Option 2
Hier ist eine weitere Option:
SELECT
TRUNC(LAST_DAY(date '2030-08-20'))-TRUNC(date '2030-08-20', 'MM')
FROM DUAL;
Ergebnis:
30
Der TRUNC(date)
Die Funktion gibt den angegebenen Datumswert mit dem Zeitabschnitt des Tages zurück, der auf die im angegebenen Formatmodell bereitgestellte Einheit gekürzt ist.