

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# BIT\$1OR 函數
<a name="r_BIT_OR"></a>

BIT\$1OR 函數會對單一整數欄或表達式中的所有值執行位元 OR 操作。此函數會彙總每一個二進位值 (對應於表達式中的每一個整數值) 的每一個位元。

例如，假設資料表有一欄包含四個整數值：3、7、10 及 22。這些整數以二進位格式表示如下：

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

如果您將 BIT\$1OR 函數套用至整數值集，則作業會尋找在每個位置中找到 `1` 的任何值。在此案例中，至少一個值的最後五個位置有 `1`，於是產生二進位結果 `00011111`；因此，函數傳回 `31` (亦即 `16 + 8 + 4 + 2 + 1`)。

## 語法
<a name="r_BIT_OR-synopsis"></a>

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

## 引數
<a name="r_BIT_OR-arguments"></a>

 *expression *   
函數運算的目標欄或表達式。此表達式必須為 INT、INT2 或 INT8 資料類型。此函數會傳回同等的 INT、INT2 或 INT8 資料類型。

DISTINCT \$1 ALL  
如果指定引數 DISTINCT，則函數在計算結果之前，將消除指定之表達式的所有重複值。如果指定引數 ALL，則函數會保留所有重複值。ALL 為預設值。如需詳細資訊，請參閱[位元彙整的 DISTINCT 支援](c_bitwise_aggregate_functions.md#distinct-support-for-bit-wise-aggregations)。

## 範例
<a name="r_bit_or_example"></a>

下列查詢將 BIT\$1OR 函數套用至名為 USERLIKES 之資料表中的 LIKES 欄，並依 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)
```

對於列出的其中四個城市，至少有一個使用者喜歡所有活動類型 (`255=11111111`)。以 Los Angeles 來說，至少有一個使用者喜歡所有活動類型，但運動除外 (`127=01111111`)。