

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# GETBIT 函数
<a name="r_GETBIT"></a>

GETBIT 返回指定索引处二进制值的位值。

## 语法
<a name="r_GETBIT-synopsis"></a>

```
GETBIT(binary_value, index)
```

## 参数
<a name="r_GETBIT-arguments"></a>

 *binary\$1value*   
数据类型为 `VARBYTE` 的二进制值。

 *index*   
返回的二进制值中的位的索引号。二进制值是一个从 0 开始的位数组，它从最右边的位（最低有效位）索引到最左边的位（最高有效位）。

## 返回类型
<a name="r_GETBIT-return-type"></a>

`INTEGER`

## 示例
<a name="r_GETBIT-examples"></a>

要返回二进制值 `from_hex('4d')` 在 `2` 索引处的位，请使用以下示例。`'4d'` 的二进制表示形式是 `01001101`。

```
SELECT GETBIT(FROM_HEX('4d'), 2);
               
+--------+
| getbit |
+--------+
|      1 |
+--------+
```

要返回由 `from_hex('4d')` 返回的二进制值在八个索引位置的位，请使用以下示例。`'4d'` 的二进制表示形式是 `01001101`。

```
SELECT GETBIT(FROM_HEX('4d'), 7), GETBIT(FROM_HEX('4d'), 6),
  GETBIT(FROM_HEX('4d'), 5), GETBIT(FROM_HEX('4d'), 4),
  GETBIT(FROM_HEX('4d'), 3), GETBIT(FROM_HEX('4d'), 2),
  GETBIT(FROM_HEX('4d'), 1), GETBIT(FROM_HEX('4d'), 0);
               
+--------+--------+--------+--------+--------+--------+--------+--------+
| getbit | getbit | getbit | getbit | getbit | getbit | getbit | getbit |
+--------+--------+--------+--------+--------+--------+--------+--------+
|      0 |      1 |      0 |      0 |      1 |      1 |      0 |      1 |
+--------+--------+--------+--------+--------+--------+--------+--------+
```