

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 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/)。

# SOUNDEX 函数
<a name="SOUNDEX"></a>

SOUNDEX 函数返回美国 Soundex 值，其中包括输入字符串的第一个字母，后跟一个 3 位数字的声音编码，该编码表示您指定的字符串的英语发音。例如，`Smith` 和 `Smyth` 具有相同的 Soundex 值。

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

```
SOUNDEX(string)
```

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

 *string*   
您可以指定要转换为美国 Soundex 代码值的 `CHAR` 或 `VARCHAR` 字符串。

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

VARCHAR(4)

## 使用说明
<a name="r_SOUNDEX_usage_notes"></a>

SOUNDEX 函数仅转换英文字母小写或大写 ASCII 字符，包括 a–z 和 A–Z。SOUNDEX 将忽略其他字符。对于由空格分隔的多个单词组成的字符串，SOUNDEX 返回单个 Soundex 值。

```
SELECT SOUNDEX('AWS Amazon');
            
+---------+
| soundex |
+---------+
| A252    |
+---------+
```

如果输入字符串不包含任何英文字母，SOUNDEX 将返回一个空字符串。

```
SELECT SOUNDEX('+-*/%');

+---------+
| soundex |
+---------+
|         |
+---------+
```

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

要返回 `Amazon` 的 Soundex 值，请使用以下示例。

```
SELECT SOUNDEX('Amazon');

+---------+
| soundex |
+---------+
| A525    |
+---------+
```

要返回 `smith` 和 `smyth` 的 Soundex 值，请使用以下示例。请注意，Soundex 值是相同的。

```
SELECT SOUNDEX('smith'), SOUNDEX('smyth');

+-------+-------+
| smith | smyth |
+-------+-------+
| S530  | S530  |
+-------+-------+
```