Amazon Redshift non supporterà più l'uso delle UDF Python dopo il 30 giugno 2026. Inizieremo ad applicarlo per fasi. Per ulteriori informazioni sulla fine del ciclo di vita e sulle opzioni di migrazione di Python, consulta il post del
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à.
Funzione BIT_OR
La funzione BIT_OR esegue operazioni OR bit per bit su tutti i valori di una singola colonna o espressione intera. Questa funzione aggrega ogni bit di ciascun valore binario che corrisponde a ciascun valore intero nell'espressione.
Ad esempio, si supponga che la propria tabella contenga quattro valori interi in una colonna: 3, 7, 10, e 22. Questi numeri interi sono rappresentati in forma binaria nel seguente modo:
| Numero intero | Valore binario |
|---|---|
| 3 | 11 |
| 7 | 111 |
| 10 | 1010 |
| 22 | 10110 |
Se si applica la funzione BIT_OR all'insieme di valori interi, l'operazione cerca qualsiasi valore in cui 1 è presente in ciascuna posizione. In questo caso, un 1 esiste nelle ultime cinque posizioni per almeno uno dei valori, ottenendo un risultato binario di 00011111; pertanto, la funzione restituisce 31 (oppure 16 + 8 + 4 + 2 + 1).
Sintassi
BIT_OR ( [DISTINCT | ALL] expression )
Arguments (Argomenti)
- expression
-
L'espressione o colonna di destinazione su cui viene eseguita la funzione. Questa espressione deve avere un tipo di dati INT, INT2 o INT8. La funzione restituisce un tipo di dati INT, INT2 o INT8 equivalente.
- DISTINCT | ALL
-
Con l'argomento DISTINCT, la funzione elimina tutti i valori duplicati per l'espressione specificata prima di calcolare il risultato. Con l'argomento ALL, la funzione mantiene tutti i valori duplicati. ALL è il valore predefinito. Per ulteriori informazioni, consultare Supporto DISTINCT per le aggregazioni bit per bit.
Esempio
La seguente query applica la funzione BIT_OR alla colonna LIKES in una tabella denominata USERLIKES e raggruppa i risultati in base alla colonna CITY.
select city, bit_or(likes) from userlikes group by city order by city; city | bit_or --------------+-------- Los Angeles | 127 Sacramento | 255 San Francisco | 255 San Jose | 255 Santa Barbara | 255 (5 rows)
Per quattro delle città elencate, tutti i tipi di evento piacciono ad almeno un utente (255=11111111). Per Los Angeles, tutti i tipi di evento fatta eccezione per gli sport piacciono ad almeno un utente (127=01111111).