Esempi di valori letterali relativi agli intervalli senza sintassi dei qualificatori - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

Esempi di valori letterali relativi agli intervalli senza sintassi dei qualificatori

Nota

Negli esempi seguenti viene illustrato l’utilizzo di un valore letterale relativo agli intervalli senza un qualificatore YEAR TO MONTH o DAY TO SECOND. Per informazioni sull’utilizzo del valore letterale relativo agli intervalli consigliato con un qualificatore, consulta Tipi di dati e valori letterali relativi agli intervalli.

Usa un valore letterale di intervallo per identificare periodi di tempo specifici, come 12 hours o 6 months. È possibile usare questi valori letterali di intervallo in condizioni e calcoli che comprendono espressioni datetime.

Un valore letterale relativo agli intervalli viene espresso come una combinazione della parola chiave INTERVAL con una quantità numerica e una parte di data supportata, ad esempio INTERVAL '7 days' o INTERVAL '59 minutes'. È possibile collegare diverse quantità e unità per formare un intervallo più preciso; ad esempio .: INTERVAL '7 days, 3 hours, 59 minutes'. Anche abbreviazioni e plurali di ciascuna unità sono supportati; ad esempio: 5 s, 5 second e 5 seconds sono intervalli equivalenti.

Se non si specifica una parte data, il valore di intervallo rappresenterà i secondi. È possibile specificare il valore di quantità come una frazione (ad esempio: 0.5 days).

Gli esempi seguenti mostrano una serie di calcoli con valori di intervallo diversi.

Quanto segue aggiunge 1 secondo alla data specificata.

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

Quanto segue aggiunge 1 minuto alla data specificata.

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

Vengono aggiunte 3 ore e 35 minuti alla data specificata.

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)

Quanto segue aggiunge 52 settimane alla data specificata.

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

Vengono aggiunti 1 settimana, 1 ora, 1 minuto e 1 secondo alla data specificata.

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)

Di seguito vengono aggiunte 12 ore (mezza giornata) alla data specificata.

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

Vengono sottratti 4 mesi dal 15 febbraio 2023 e il risultato è il 15 ottobre 2022.

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

Vengono sottratti 4 mesi dal 31 marzo 2023 e il risultato è il 30 novembre 2022. Il calcolo considera il numero di giorni in un mese.

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