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à.
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 INT2 di INT8 dati INT o. La funzione restituisce un INT o un tipo di INT8 dati equivalente. INT2
- 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).