sql >> Base de Datos >  >> RDS >> Oracle

2 formas de obtener la cantidad de días en un mes en Oracle

Aquí hay un par de formas de devolver la cantidad de días en un mes determinado en Oracle Database. Puede ser el número de días del mes actual o el número de días de un mes en función de una fecha específica.

Opción 1

Esta es nuestra primera opción:

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

Resultado:

31

El LAST_DAY() La función devuelve el último día del mes en función de la fecha especificada. Al pasar esto a TO_CHAR() con un formato de DD para el día del mes, obtenemos el número del último día del mes. Ese número representa el número de días en el mes.

Luego usamos el CAST() función para convertir el resultado a un número entero.

Opción 2

Aquí hay otra opción:

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

Resultado:

30

El TRUNC(date) La función devuelve el valor de fecha dado con la parte de la hora del día truncada a la unidad proporcionada en el modelo de formato especificado.