Funzione BIT_OR - Amazon Redshift

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 )

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