sql >> Database >  >> RDS >> Oracle

2 manieren om het aantal dagen in een maand in Oracle te krijgen

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.


  1. Welke SQL-query is beter, MATCH TEGEN of LIKE?

  2. Geheugendruk Analyse Risicostatus

  3. EM12c staat nu DB12c toe voor repo's

  4. Hoe de standaard MySQL/MariaDB-poort in Linux te wijzigen