Ejemplos de literales de intervalo sin sintaxis de calificador - Amazon Redshift

Ejemplos de literales de intervalo sin sintaxis de calificador

nota

En los siguientes ejemplos se muestra el uso de un literal de intervalo sin un calificador YEAR TO MONTH o DAY TO SECOND. Para obtener información sobre el uso del literal de intervalo recomendado con un calificador, consulte Literales y tipos de datos de intervalo.

Use un literal de intervalo para identificar períodos específicos de tiempo, como 12 hours o 6 months. Puede usar estos literales de intervalo en condiciones y cálculos que involucran expresiones de fecha y hora.

Un literal de intervalo se expresa como una combinación de la palabra clave INTERVAL con una cantidad numérica y una parte de fecha compatible, por ejemplo, INTERVAL '7 days' o INTERVAL '59 minutes'. Puede conectar varias cantidades y unidades para formar un intervalo más preciso, por ejemplo: INTERVAL '7 days, 3 hours, 59 minutes'. También se admiten abreviaturas y plurales de cada unidad; por ejemplo: 5 s, 5 second y 5 seconds son intervalos equivalentes.

Si no especifica una parte de fecha, el valor de intervalo representa segundos. Puede especificar el valor de cantidad como una fracción (por ejemplo: 0.5 days).

En los siguientes ejemplos se muestra una serie de cálculos con diferentes valores de intervalo.

A continuación, se agrega 1 segundo a la fecha especificada.

select caldate + interval '1 second' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 00:00:01 (1 row)

A continuación, se agrega 1 minuto a la fecha especificada.

select caldate + interval '1 minute' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 00:01:00 (1 row)

A continuación, se agregan 3 horas y 35 minutos a la fecha especificada.

select caldate + interval '3 hours, 35 minutes' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 03:35:00 (1 row)

A continuación, se agregan 52 semanas a la fecha especificada.

select caldate + interval '52 weeks' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2009-12-30 00:00:00 (1 row)

A continuación, se agregan 1 semana, 1 hora, 1 minuto y 1 segundo a la fecha especificada.

select caldate + interval '1w, 1h, 1m, 1s' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2009-01-07 01:01:01 (1 row)

A continuación, se agregan 12 horas (medio día) a la fecha especificada.

select caldate + interval '0.5 days' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 12:00:00 (1 row)

Lo siguiente resta 4 meses al 15 de febrero de 2023 y el resultado es 15 de octubre de 2022.

select date '2023-02-15' - interval '4 months'; ?column? --------------------- 2022-10-15 00:00:00

Lo siguiente resta 4 meses al 31 de marzo de 2023 y el resultado es 30 de noviembre de 2022. El cálculo tiene en cuenta el número de días de un mes.

select date '2023-03-31' - interval '4 months'; ?column? --------------------- 2022-11-30 00:00:00