

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Función BIT\$1AND
<a name="r_BIT_AND"></a>

La función BIT\$1AND ejecuta operaciones AND bit a bit en todos los valores de una única columna o expresión con valores enteros. Estas funciones agregan cada bit de cada valor binario que corresponde a cada valor entero en la expresión.

La función BIT\$1AND devuelve un resultado de `0` si ninguno de los bits se establece en 1 en todos los valores. Si uno o más bits se establece en 1 en todos los valores, la función devuelve un valor entero. Este entero es el número que corresponde al valor binario para esos bits.

Por ejemplo, una tabla tiene cuatro valores enteros en una columna: 3, 7, 10 y 22. Esos enteros están representados en formato binario de la siguiente manera:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/redshift/latest/dg/r_BIT_AND.html)

Una operación BIT\$1AND en este conjunto de datos encuentra que todos los bits se establecen en `1` solo en la penúltima posición. El resultado es un valor binario de `00000010`, que representa el valor entero `2`. Por lo tanto, la función BIT\$1AND devuelve `2`.

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

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

## Argumentos
<a name="r_BIT_AND-arguments"></a>

 *expresión *   
La columna o expresión de destino sobre la que opera la función. Esta expresión debe tener un tipo de datos INT, INT2 o INT8. La función devuelve un tipo de datos INT, INT2 o INT8 equivalente.

DISTINCT \$1 ALL  
Con el argumento DISTINCT, la función elimina todos los valores duplicados para la expresión especificada antes de calcular el resultado. Con el argumento ALL, la función retiene todos los valores duplicados. El valor predeterminado es ALL. Para obtener más información, consulte [DISTINCT compatible con agregaciones bit a bit](c_bitwise_aggregate_functions.md#distinct-support-for-bit-wise-aggregations).

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

Dado que esa información significativa de negocio se almacena en columnas con valores enteros, puede usar funciones bit a bit para extraer y acumular esa información. La siguiente consulta aplica la función BIT\$1AND a la columna LIKES en una tabla que se llama USERLIKES y agrupa los resultados según la columna 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)
```

Estos resultados se pueden interpretar de la siguiente manera:
+ El valor entero `192` para Santa Barbara se traduce al valor binario `11000000`. En otras palabras, a todos los usuarios de esta ciudad les gustan deportes y teatro, pero no a todos les gusta otro tipo de evento.
+ El valor entero `64` se traduce a `01000000`. Entonces, para los usuarios de San José, el único tipo de evento que les gusta a todos es el teatro.
+ Los valores de `0` para las otras tres ciudades indican que no se comparten "gustos" entre todos los usuarios de esas ciudades.