sql >> Database teknologi >  >> RDS >> Oracle

2 måder at få antallet af dage i en måned i Oracle

Her er et par måder at returnere antallet af dage i en given måned i Oracle Database. Dette kan være antallet af dage i den aktuelle måned eller antallet af dage i en måned baseret på en specificeret dato.

Mulighed 1

Her er vores første mulighed:

SELECT CAST(TO_CHAR(LAST_DAY(date '2030-01-17'), 'DD') AS INT)
FROM DUAL;

Resultat:

31

LAST_DAY() funktion returnerer den sidste dag i måneden baseret på den angivne dato. Ved at sende dette til TO_CHAR() med formatet DD for dagen i måneden får vi nummeret på den sidste dag i måneden. Dette tal repræsenterer antallet af dage i måneden.

Vi bruger derefter CAST() funktion til at konvertere resultatet til et heltal.

Mulighed 2

Her er en anden mulighed:

SELECT 
    TRUNC(LAST_DAY(date '2030-08-20'))-TRUNC(date '2030-08-20', 'MM')
FROM DUAL;

Resultat:

30

TRUNC(date) funktion returnerer den givne datoværdi med tidsdelen af ​​dagen afkortet til den enhed, der er angivet i den specificerede formatmodel.


  1. Håndtering af tidszone i webapplikation

  2. Skal en MAMP returnere ::1 som IP på localhost?

  3. MySQL-parametriserede forespørgsler

  4. Opret forbindelse til mysql på Amazon EC2 fra en fjernserver