

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

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

# BPCHARCMP 函數
<a name="r_BPCHARCMP"></a>

比較兩個字串的值並傳回整數。如果字串相同，則函數會傳回 `0`。如果第一個字串的字母順序較大，則函數會傳回 `1`。如果第二個字串較大，則函數會傳回 `-1`。

如果是多位元組字元，則根據位元組編碼來比較。

[BTTEXT\$1PATTERN\$1CMP 函數](r_BTTEXT_PATTERN_CMP.md) 的同義詞。

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

```
BPCHARCMP(string1, string2)
```

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

 *string1*   
`CHAR` 字串或 `VARCHAR` 字串。

 *string2*   
`CHAR` 字串或 `VARCHAR` 字串。

## 傳回類型
<a name="r_BPCHARCMP-return-type"></a>

 INTEGER 

## 範例
<a name="r_BPCHARCMP-examples"></a>

 下列範例使用 TICKIT 範例資料庫中的 USERS 表格。如需詳細資訊，請參閱[範本資料庫](c_sampledb.md)。

若要針對 USERS 資料表中的前十個項目，按字母順序判斷使用者的名字是否大於使用者的姓氏，請使用下列範例。對於 FIRSTNAME 字串的字母順序比 LASTNAME 字串更後面的那些項目，函數會傳回 `1`。如果 LASTNAME 的字母順序比 FIRSTNAME 更後面，函數會傳回 `-1`。

```
SELECT userid, firstname, lastname, BPCHARCMP(firstname, lastname)
FROM users
ORDER BY 1, 2, 3, 4
LIMIT 10;

+--------+-----------+-----------+-----------+
| userid | firstname | lastname  | bpcharcmp |
+--------+-----------+-----------+-----------+
|      1 | Rafael    | Taylor    |        -1 |
|      2 | Vladimir  | Humphrey  |         1 |
|      3 | Lars      | Ratliff   |        -1 |
|      4 | Barry     | Roy       |        -1 |
|      5 | Reagan    | Hodge     |         1 |
|      6 | Victor    | Hernandez |         1 |
|      7 | Tamekah   | Juarez    |         1 |
|      8 | Colton    | Roy       |        -1 |
|      9 | Mufutau   | Watkins   |        -1 |
|     10 | Naida     | Calderon  |         1 |
+--------+-----------+-----------+-----------+
```

若要傳回 USERS 資料表中函數傳回 `0` 的所有項目，請使用下列範例。當 FIRSTNAME 等於 LASTNAME 時，函數傳回 `0`。

```
SELECT userid, firstname, lastname,
BPCHARCMP(firstname, lastname)
FROM users 
WHERE BPCHARCMP(firstname, lastname)=0
ORDER BY 1, 2, 3, 4;

+--------+-----------+----------+-----------+
| userid | firstname | lastname | bpcharcmp |
+--------+-----------+----------+-----------+
|     62 | Chase     | Chase    |         0 |
|   4008 | Whitney   | Whitney  |         0 |
|  12516 | Graham    | Graham   |         0 |
|  13570 | Harper    | Harper   |         0 |
|  16712 | Cooper    | Cooper   |         0 |
|  18359 | Chase     | Chase    |         0 |
|  27530 | Bradley   | Bradley  |         0 |
|  31204 | Harding   | Harding  |         0 |
+--------+-----------+----------+-----------+
```