Tipo de datos INTERVAL de ESQL

El tipo de datos INTERVAL mantiene un intervalo de tiempo. Tiene varios subtipos:

Todos estos subtipos describen intervalos de tiempo y todos pueden formar parte de una amplia gama de operaciones del tipo INTERVAL; por ejemplo, operaciones de adición y sustracción con valores de tipo DATE, TIME o TIMESTAMP.

Utilice la función CAST para transformarlos de un subtipo a otro, a excepción de los intervalos descritos en años y meses, o meses, que no pueden convertirse en los descritos en días, horas, minutos y segundos.

La división entre meses y días surge porque el número de días de cada mes varía. Un intervalo de un mes y un día no es significativo y no puede convertirse acertadamente en un intervalo equivalente indicado sólo en un número de días.

Un literal de intervalo se define mediante la sintaxis:

INTERVAL <serie de intervalo> <calificador de intervalo

El formato de la serie de intervalo y el calificador de intervalo se definen en la tabla siguiente:

Calificador de intervalo Formato de serie de intervalo Ejemplo
YEAR '<año>' o '<signo> <año>' '10' o '-10'
YEAR TO MONTH '<año>-<mes>' o '<signo> <año>-<mes>' '2-06' o '- 2-06'
MONTH '<mes>' o '<signo> <mes>' '18' o '-18'
DAY '<día>' o '<signo> <día>' '30' o '-30'
DAY TO HOUR '<día> <hora>' o '<signo> <día> <hora>' '1 02' o '-1 02'
DAY TO MINUTE '<día> <hora>:<minuto>' o '<signo> <día> <hora>:<minuto>' '1 02:30' o '-1 02:30'
DAY TO SECOND '<día> <hora>:<minuto>:<segundo>' o '<signo> <día> <hora>:<minuto>:<segundo>' '1 02:30:15' o '-1 02:30:15.333'
HOUR '<hora>' o '<signo> <hora>' '24' o '-24'
HOUR TO MINUTE '<hora>:<minuto>' o '<signo> <hora>:<minuto>' '1:30' o '-1:30'
HOUR TO SECOND '<hora>:<minuto>:<segundo>' o '<signo> <hora>:<minuto>:<segundo>' '1:29:59' o '-1:29:59.333'
MINUTE '<minuto>' o '<signo> <minuto>' '90' o '-90'
MINUTE TO SECOND '<minuto>:<segundo>' o '<signo> <minuto>:<segundo>' '89:59' o '-89:59'
SECOND '<segundo>' o '<signo> <segundo>' '15' o '-15.7'

Cuando un intervalo contiene un valor de año y mes, se utiliza un guión entre los dos valores. En esta instancia, el valor de mes debe estar dentro del rango [0, 11]. Si un intervalo contiene un valor de mes y no incluye un valor de año, el valor de mes no tiene restricciones.

Se utiliza un espacio para separar los días del resto del intervalo.

Si un intervalo contiene más de un valor HOUR, MINUTE y SECOND, es necesario indicar dos puntos para separar los dos valores y, a excepción del que está más a la izquierda, tienen las restricciones siguientes:

HOUR
0-23
MINUTE
0-59
SECOND
0-59,999...

Algunos ejemplos de valores de intervalo válidos son:

Algunos ejemplos de valores de intervalo válidos son:

A continuación se muestran algunos ejemplos de literales de intervalos:

INTERVAL '1' HOUR
INTERVAL '90' MINUTE
INTERVAL '1-06' YEAR TO MONTH

Conceptos relacionados
Flujos de mensajes
Tipos de datos ESQL

Tareas relacionadas
Desarrollo de aplicaciones de flujos de mensajes
Utilización de operadores numéricos para valores de fecha y hora
Cálculo de un intervalo de tiempo

Referencia relacionada
Tipo de datos DATE de ESQL
Tipo de datos TIME de ESQL
Tipo de datos GMTTIME de ESQL
Tipo de datos TIMESTAMP de ESQL
Tipo de datos GMTTIMESTAMP de ESQL