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_AND
La funzione BIT_AND esegue operazioni AND 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.
La funzione BIT_AND restituisce un risultato di 0 se nessuno dei bit è impostato su 1 in tutti i valori. Se uno o più bit è impostato su 1 in tutti i valori, la funzione restituisce un valore intero. Questo intero è il numero che corrisponde al valore binario per quei bit.
Ad esempio, una tabella contiene quattro valori interni 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 |
Un'operazione BIT_AND su questo set di dati rileva che tutti i bit sono impostati solo nella posizione. 1 second-to-last Il risultato è un valore binario di 00000010, che rappresenta il valore intero 2. Di conseguenza, la funzione BIT_AND restituisce 2.
Sintassi
BIT_AND ( [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 o INT2. INT8 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.
Esempi
Dato che le informazioni aziendali significative sono memorizzate in colonne di numeri interi, è possibile utilizzare le funzioni bit-wise per estrarre e aggregare tali informazioni. La seguente query applica la funzione BIT_AND alla colonna LIKES in una tabella denominata USERLIKES e raggruppa i risultati in base alla colonna CITY.
select city, bit_and(likes) from userlikes group by city order by city; city | bit_and --------------+--------- Los Angeles | 0 Sacramento | 0 San Francisco | 0 San Jose | 64 Santa Barbara | 192 (5 rows)
Questi risultati possono essere interpretati nel modo seguente:
-
Il valore intero
192per Santa Barbara si traduce nel valore binario11000000. In altre parole, a tutti gli utenti di questa città piacciono lo sport e il teatro, ma non a tutti gli utenti piacciono altri tipi di evento. -
Il numero intero
64si traduce in01000000. Pertanto, per gli utenti a San Jose, l'unico tipo di evento che piace a tutti è il teatro. -
I valori di
0per le altre tre città indica che nessun "like" di gradimento è condiviso da tutti gli utenti in quelle città.