Condizione di intervallo BETWEEN - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog.

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à.

Condizione di intervallo BETWEEN

Una condizione BETWEEN testa le espressioni per l'inclusione in un intervallo di valori, usando le parole chiave BETWEEN e AND.

Sintassi

expression [ NOT ] BETWEEN expression AND expression

Le espressioni possono essere numeriche, di caratteri o datetime, ma è necessario che siano compatibili. L'intervallo è inclusivo.

Esempi

Il primo esempio conta quante transazioni hanno registrato vendite di 2, 3 o 4 biglietti:

select count(*) from sales where qtysold between 2 and 4; count -------- 104021 (1 row)

La condizione di intervallo comprende i valori di inizio e di fine.

select min(dateid), max(dateid) from sales where dateid between 1900 and 1910; min | max -----+----- 1900 | 1910

È necessario che la prima espressione in una condizione di intervallo sia il valore minore e la seconda espressione il valore maggiore. L'esempio seguente restituirà sempre zero righe a causa dei valori delle espressioni:

select count(*) from sales where qtysold between 4 and 2; count ------- 0 (1 row)

Tuttavia, l'applicazione del modificatore NOT invertirà la logica e produrrà un conto di tutte le righe:

select count(*) from sales where qtysold not between 4 and 2; count -------- 172456 (1 row)

La query seguente restituisce un elenco di sedi con 20.000-50.000 posti a sedere:

select venueid, venuename, venueseats from venue where venueseats between 20000 and 50000 order by venueseats desc; venueid | venuename | venueseats ---------+-------------------------------+------------ 116 | Busch Stadium | 49660 106 | Rangers BallPark in Arlington | 49115 96 | Oriole Park at Camden Yards | 48876 ... (22 rows)

L'esempio seguente mostra l'utilizzo di BETWEEN per i valori di data:

select salesid, qtysold, pricepaid, commission, saletime from sales where eventid between 1000 and 2000 and saletime between '2008-01-01' and '2008-01-03' order by saletime asc; salesid | qtysold | pricepaid | commission | saletime --------+---------+-----------+------------+--------------- 65082 | 4 | 472 | 70.8 | 1/1/2008 06:06 110917 | 1 | 337 | 50.55 | 1/1/2008 07:05 112103 | 1 | 241 | 36.15 | 1/2/2008 03:15 137882 | 3 | 1473 | 220.95 | 1/2/2008 05:18 40331 | 2 | 58 | 8.7 | 1/2/2008 05:57 110918 | 3 | 1011 | 151.65 | 1/2/2008 07:17 96274 | 1 | 104 | 15.6 | 1/2/2008 07:18 150499 | 3 | 135 | 20.25 | 1/2/2008 07:20 68413 | 2 | 158 | 23.7 | 1/2/2008 08:12

È importante notare che, sebbene l'intervallo di BETWEEN sia inclusivo, le date hanno un valore di ora predefinito di 00:00:00. L'unica riga valida del 3 gennaio per la query di esempio sarebbe una riga con saletime 1/3/2008 00:00:00.