

 从补丁 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/)。

# VARBYTE 运算符
<a name="r_VARBYTE_OPERATORS"></a>

 下表列出了 VARBYTE 运算符。运算符使用数据类型为 VARBYTE 的二进制值。如果一个或两个输入为 null，则结果也为 null。

## 支持的运算符
<a name="r_VARBYTE_OPERATORS-supported-operators"></a>

[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/redshift/latest/dg/r_VARBYTE_OPERATORS.html)

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

在以下示例中，`'a'::VARBYTE` 的值 是 `61`，`'b'::VARBYTE` 的值是 `62`。`::` 将字符串强制转换为 `VARBYTE` 数据类型。有关强制转换数据类型的更多信息，请参阅[CAST](r_CAST_function.md)。

要使用 `<` 运算符比较 `'a'` 是否小于 `'b'`，请使用以下示例。

```
SELECT 'a'::VARBYTE < 'b'::VARBYTE AS less_than;
               
+-----------+
| less_than |
+-----------+
| true      |
+-----------+
```

要使用 `=` 运算符比较 `'a'` 是否等于 `'b'`，请使用以下示例。

```
SELECT 'a'::VARBYTE = 'b'::VARBYTE AS equal;
               
+-------+
| equal |
+-------+
| false |
+-------+
```

要使用 `||` 运算符连接两个二进制值，请使用以下示例。

```
SELECT 'a'::VARBYTE || 'b'::VARBYTE AS concat;
               
+--------+
| concat |
+--------+
|   6162 |
+--------+
```

要使用 `+` 运算符连接两个二进制值，请使用以下示例。

```
SELECT 'a'::VARBYTE + 'b'::VARBYTE AS concat;
               
+--------+
| concat |
+--------+
|   6162 |
+--------+
```

要使用 FROM\$1VARBYTE 函数否定输入二进制值的每个位，请使用以下示例。字符串 `'a'` 计算结果为 `01100001`。有关更多信息，请参阅 [FROM\$1VARBYTE](r_FROM_VARBYTE.md)。

```
SELECT FROM_VARBYTE(~'a'::VARBYTE, 'binary');
               
+--------------+
| from_varbyte |
+--------------+
|     10011110 |
+--------------+
```

要在两个输入二进制值上应用 `&` 运算符，请使用以下示例。字符串 `'a'` 计算结果为 `01100001`，而 `'b'` 计算结果为 `01100010`。

```
SELECT FROM_VARBYTE('a'::VARBYTE & 'b'::VARBYTE, 'binary');
               
+--------------+
| from_varbyte |
+--------------+
|     01100000 |
+--------------+
```