Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del 1 de noviembre de 2025. Si desea utilizar las UDF de Python, créelas antes de esa fecha. Las UDF de Python existentes seguirán funcionando con normalidad. Para obtener más información, consulte la publicación del blog
Condición de rango BETWEEN
Una condición BETWEEN prueba expresiones para incluirlas en un rango de valores, con las palabras clave BETWEEN y AND. 
Sintaxis
expression [ NOT ] BETWEEN expression AND expression
Las expresiones pueden ser tipos de datos de fecha y hora, numéricos o caracteres, pero deben ser compatibles. El rango es inclusivo.
Ejemplos
El primer ejemplo cuenta cuántas transacciones registraron ventas de 2, 3 o 4 tickets:
select count(*) from sales where qtysold between 2 and 4; count -------- 104021 (1 row)
La condición de rango incluye los valores de inicio y final.
select min(dateid), max(dateid) from sales where dateid between 1900 and 1910; min | max -----+----- 1900 | 1910
La primera expresión en una condición de rango debe ser el valor más bajo y la segunda expresión, el valor más alto. En el siguiente ejemplo SIEMPRE se devuelven cero filas debido a los valores de las expresiones:
select count(*) from sales where qtysold between 4 and 2; count ------- 0 (1 row)
Sin embargo, aplicar el modificador NOT invertirá la lógica y producirá un conteo de todas las filas:
select count(*) from sales where qtysold not between 4 and 2; count -------- 172456 (1 row)
La siguiente consulta devuelve una lista de lugares que tienen entre 20 000 y 50 000 asientos:
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)
En el siguiente ejemplo, se demuestra el uso de BETWEEN para valores de fecha:
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
Tenga en cuenta que, aunque el intervalo de BETWEEN es inclusivo, las fechas tienen un valor de hora predeterminado de 00:00:00. La única fila válida del 3 de enero para la consulta de ejemplo sería una fila con un valor de saletime de 1/3/2008 00:00:00.