Este tema proporciona algunos ejemplos de ESQL que puede codificar para manipular los valores de fecha y hora con operadores numéricos.
- Suma de un intervalo a un valor de fecha y hora
- La operación más sencilla que puede realizar es sumar o restar un intervalo de un valor de fecha y hora. Por ejemplo, puede escribir las expresiones siguientes:
DATE '2000-03-29' + INTERVAL '1' MONTH
TIMESTAMP '1999-12-31 23:59:59' + INTERVAL '1' SECOND
- Suma o resta de dos intervalos
- Se pueden combinar dos valores de intervalo utilizando la suma o la resta. Los dos valores de intervalo deben ser de tipos compatibles. No es válido sumar un intervalo de año-mes a un intervalo de día-segundo como en el ejemplo siguiente:
INTERVAL '1-06' YEAR TO MONTH + INTERVAL '20' DAY
El calificador de intervalo del intervalo resultante es suficiente para que abarque todos los campos que actualmente están en los dos intervalos del operando. Por ejemplo:
INTERVAL '2 01' DAY TO HOUR + INTERVAL '123:59' MINUTE TO SECOND
da como resultado un intervalo con un calificador de DAY TO SECOND, debido a que tanto los campos de día y segundo están presentes en al menos uno de los valores de operando.
- Resta de dos valores de fecha y hora
- Se pueden restar dos valores de fecha y hora para devolver un intervalo. Para poder hacerlo, se debe proporcionar un calificador de intervalo en la expresión que indique la precisión en que debe devolverse el resultado. Por ejemplo:
(CURRENT_DATE - DATE '1776-07-04') DAY
devuelve el número de días desde el 4 de Julio de 1776, donde:
(CURRENT_TIME - TIME '00:00:00') MINUTE TO SECOND
devuelve la antigüedad del día en minutos y segundos.
- Intervalos de escalado
- Un valor de intervalo se puede multiplicar o dividir por un factor de entero:
INTERVAL '2:30' MINUTE TO SECOND / 4