Hier zijn een aantal manieren om het aantal dagen in een bepaalde maand in Oracle Database te retourneren. Dit kan het aantal dagen in de huidige maand zijn, of het aantal dagen in een maand op basis van een bepaalde datum.
Optie 1
Dit is onze eerste optie:
SELECT CAST(TO_CHAR(LAST_DAY(date '2030-01-17'), 'DD') AS INT)
FROM DUAL;
Resultaat:
31
De LAST_DAY()
functie retourneert de laatste dag van de maand op basis van de opgegeven datum. Door dit door te geven aan TO_CHAR()
met een formaat van DD
voor de dag van de maand krijgen we het nummer van de laatste dag van de maand. Dat getal staat voor het aantal dagen in de maand.
We gebruiken dan de CAST()
functie om het resultaat naar een geheel getal om te zetten.
Optie 2
Hier is nog een optie:
SELECT
TRUNC(LAST_DAY(date '2030-08-20'))-TRUNC(date '2030-08-20', 'MM')
FROM DUAL;
Resultaat:
30
De TRUNC(date)
functie retourneert de gegeven datumwaarde met het tijdgedeelte van de dag afgekapt tot de eenheid die is opgegeven in het opgegeven formaatmodel.