Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Valori letterali di intervallo
Di seguito sono riportate le regole per lavorare con i valori letterali a intervalli supportati da Spark SQL. AWS Clean Rooms
Usa un valore letterale di intervallo per identificare periodi di tempo specifici, come 12
hours o 6 weeks. È possibile usare questi valori letterali di intervallo in condizioni e calcoli che comprendono espressioni datetime.
Nota
Non puoi usare il tipo di dati INTERVAL per le colonne nelle tabelle. AWS Clean Rooms
Un intervallo 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).
Esempi
Gli esempi seguenti mostrano una serie di calcoli con valori di intervallo diversi.
L'esempio seguente 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)
L'esempio seguente 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)
L'esempio seguente aggiunge 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)
L'esempio seguente 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)
L'esempio seguente aggiunge 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)
L'esempio seguente aggiunge 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)
L'esempio seguente sottrae 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