sql >> Database >  >> RDS >> Oracle

Hoe u de laatste dag van de maand in Oracle kunt krijgen

In Oracle Database kunnen we de LAST_DAY() . gebruiken functie om de laatste dag van een bepaalde maand te retourneren. Dit kan de laatste dag van de huidige maand zijn of de laatste dag van de maand op basis van een opgegeven datum.

Voorbeeld

SELECT LAST_DAY(date '2035-02-15')
FROM DUAL;

Resultaat:

28-FEB-35

De laatste dag van de maand wordt gedefinieerd door de sessieparameter NLS_CALENDAR . Zie Hoe u de waarden van de NLS-parameters kunt controleren om erachter te komen welke agenda uw sessie gebruikt. De mijne gebruikt de Gregoriaanse kalender.

Dit is wat er gebeurt als we de datum een ​​jaar vooruitschuiven:

SELECT LAST_DAY(date '2036-02-15')
FROM DUAL;

Resultaat:

29-FEB-36

Het volgende jaar is een schrikkeljaar en dus krijgen we dat jaar 29 dagen in februari.

Merk op dat de LAST_DAY() functie retourneert een DATE waarde. Dit is zelfs waar als we een TIMESTAMP pass doorgeven waarde:

SELECT LAST_DAY(TIMESTAMP '2036-07-15 15:30:45.12345')
FROM DUAL;

Resultaat:

31-JUL-36

Huidige maand

Dit voorbeeld krijgt de laatste dag van de huidige maand:

SELECT 
    SYSDATE,
    LAST_DAY(SYSDATE)
FROM DUAL;

Resultaat:

SYSDATE LAST_DAY(SYSDATE)
22-APR-22 30-APR-22

In dit geval gebruikte ik SYSDATE voor de huidige datum.

Volgende maand

We kunnen de ADD_MONTHS() . gebruiken functie om een ​​of meer maanden op te tellen bij de huidige datum:

SELECT 
    SYSDATE,
    LAST_DAY(ADD_MONTHS(SYSDATE, 1))
FROM DUAL;

Resultaat:

SYSDATE LAST_DAY(ADD_MONTHS(SYSDATE,1))
22-APR-22 31-MEI-22

In dit geval hebben we de laatste dag van volgende maand.

Vorige maand

We kunnen een negatieve waarde toevoegen om de laatste dag van een vorige maand te krijgen:

SELECT 
    SYSDATE,
    LAST_DAY(ADD_MONTHS(SYSDATE, -1))
FROM DUAL;

Resultaat:

SYSDATE LAST_DAY(ADD_MONTHS(SYSDATE,-1))
22-APR-22 31-MAR-22

  1. Migreren van MySQL Enterprise naar MariaDB 10.3

  2. AVG()-functie in MariaDB

  3. Verschillende manieren om de SQL CONVERT-datumfunctie te gebruiken

  4. Het voorkomen van een drop-table bij het doelschema in Oracle Streams