La función NEXT_DAY en Oracle es una herramienta muy práctica para calcular el siguiente día específico de la semana a partir de una fecha dada. Esta función es especialmente útil en escenarios donde es necesario planificar eventos, programar tareas recurrentes o gestionar operaciones basadas en días específicos, como un cierre de semana o el inicio de actividades.
La función NEXT_DAY toma dos argumentos: una fecha inicial y el nombre del día de la semana que se desea buscar. Como resultado, devuelve la fecha correspondiente al siguiente día especificado que ocurra después de la fecha indicada. Es importante tener en cuenta que el día de la semana puede especificarse tanto en inglés como en el idioma configurado mediante el parámetro NLS_DATE_LANGUAGE
.
En este artículo, primero mostraré la sintaxis básica de esta función para comprender su implementación. A continuación, incluiré ejemplos prácticos que demuestran su utilidad en distintas aplicaciones, como programar tareas semanales, identificar días festivos o calcular fechas específicas en ciclos de trabajo.
Para profundizar más puedes consultar la documentación oficial de ORACLE sobre NEXT_DAY.
Sintaxis
Escribe la siguiente sintaxis para utilizar la función NEXT_DAY en Oracle:
NEXT_DAY(fecha, dia_de_la_semana_a_obtener);
En la sintaxis anterior, next_day admite dos parametros:
- fecha: campo de fecha o fecha escrita que se quiere convertir.
- dia_de_la_semana_a_obtener: indica que día quieres que te devuelva.
Ejemplo
En el siguiente ejemplo puedes comprobar como la función next_day nos devuelve que dia de la semana es el siguiente domingo :
SELECT NEXT_DAY( DATE '2022-08-22', 'SUNDAY' ) FROM dual;

Días disponibles
Los días disponibles para la función next_day son las siguientes:
Días | Descripción |
---|---|
MONDAY | El primer lunes después de la fecha |
TUESDAY | El primer martes después de la fecha |
WEDNESDAY | El primer miércoles después de la fecha |
THURSDAY | El primer jueves después de la fecha |
FRIDAY | El primer viernes después de la fecha |
SATURDAY | El primer sábado después de la fecha |
SUNDAY | El primer domingo después de la fecha |