

 Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dalla Patch 198. Le UDF Python esistenti continueranno a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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
<a name="r_BIT_AND"></a>

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 su `1` solo nella penultima posizione. Il risultato è un valore binario di `00000010`, che rappresenta il valore intero `2`. Di conseguenza, la funzione BIT\_AND restituisce `2`.

## Sintassi
<a name="r_BIT_AND-synopsis"></a>

```
BIT_AND ( [DISTINCT | ALL] expression )
```

## Arguments (Argomenti)
<a name="r_BIT_AND-arguments"></a>

 *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](c_bitwise_aggregate_functions.md#distinct-support-for-bit-wise-aggregations).

## Esempi
<a name="r_bit_end_example"></a>

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 `192` per Santa Barbara si traduce nel valore binario `11000000`. 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 `64` si traduce in `01000000`. Pertanto, per gli utenti a San Jose, l'unico tipo di evento che piace a tutti è il teatro.
+ I valori di `0` per le altre tre città indica che nessun "like" di gradimento è condiviso da tutti gli utenti in quelle città.