

 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/)。

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

# 位元彙整函數
<a name="c_bitwise_aggregate_functions"></a>

位元彙總函數會運算位元操作，以執行整數欄以及可轉換或四捨五入為整數值的彙總。

**Topics**
+ [在位元彙整中使用 NULL](#c_bitwise_aggregate_functions-nulls-in-bit-wise-aggregations)
+ [位元彙整的 DISTINCT 支援](#distinct-support-for-bit-wise-aggregations)
+ [位元函數的概述範例](#r_bitwise_example)
+ [BIT\$1AND 函數](r_BIT_AND.md)
+ [BIT\$1OR 函數](r_BIT_OR.md)
+ [BOOL\$1AND 函數](r_BOOL_AND.md)
+ [BOOL\$1OR 函數](r_BOOL_OR.md)

## 在位元彙整中使用 NULL
<a name="c_bitwise_aggregate_functions-nulls-in-bit-wise-aggregations"></a>

對可為 Null 的欄套用位元函數時，計算函數結果之前會消除任何 NULL 值。如果沒有任何列符合彙總的資格，位元函數會傳回 Null。同樣行為適用於一般彙總函數。以下是範例。

```
select sum(venueseats), bit_and(venueseats) from venue
where venueseats is null;

sum  | bit_and
------+---------
null |    null
(1 row)
```

## 位元彙整的 DISTINCT 支援
<a name="distinct-support-for-bit-wise-aggregations"></a>

如同其他彙總函數，位元函數也支援 DISTINCT 關鍵字。

不過，DISTINCT 與這些函數一起使用不影響結果。值的第一個實例足以滿足位元 AND 或 OR 運算。如果正在評估的運算式中存在重複值，則沒有任何區別。

因為 DISTINCT 處理很可能引起某些查詢執行負荷，因此我們建議您不要將 DISTINCT 與位元函數一起使用。

## 位元函數的概述範例
<a name="r_bitwise_example"></a>

在下文中，您可以找到一些概述範例，展示如何使用位元函數。您還可以找到具有每個函數描述的特定代碼範例。

位元函數的範例是以 TICKIT 範例資料庫為基礎。TICKIT 範例資料庫中的 USERS 資料表包含幾個布林值欄，指出是否已知每一個使用者喜歡的各種類型活動，例如運動、戲劇、歌劇等。範例如下。

```
select userid, username, lastname, city, state, 
likesports, liketheatre
from users limit 10;

userid | username | lastname  |     city     | state | likesports | liketheatre
-------+----------+-----------+--------------+-------+------------+-------------
1 | JSG99FHE | Taylor    | Kent         | WA    | t          | t
9 | MSD36KVR | Watkins   | Port Orford  | MD    | t          | f
```

假設 USERS 表格的新版本是以不同的方式建置的。在此新版本中，單一整數欄定義 (以二進位格式) 每一個使用者喜歡或不喜歡的八種活動。在這種設計中，每個位置代表一種類型的事件。喜歡所有八種類型的使用者將全部八位設定為 1 (如下表的第一列)。如果使用者不喜歡任何活動，則八個位元全部設為 0 (請看第二列)。接下來的第三列表示只喜歡運動和爵士樂的使用者。

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

在資料庫資料表中，這些二進位值可以作為整數儲存在單一 LIKES 欄中，如下所示。

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