BPCHARCMP 函數 - Amazon Redshift

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

BPCHARCMP 函數

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

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

BTTEXT_PATTERN_CMP 函數 的同義詞。

Syntax (語法)

BPCHARCMP(string1, string2)

引數

string1

第一個輸入參數是 CHAR 或 VARCHAR 字串。

string2

第二個參數是 CHAR 或 VARCHAR 字串。

傳回類型

BPCHARCMP 函數傳回整數。

範例

下列範例針對 USERS 中的前十個項目,按字母順序判斷使用者的名字是否大於使用者的姓氏:

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 (10 rows)

您可以看到對於 FIRSTNAME 字母順序比 LASTNAME 更後面的那些項目,BPCHARCMP 傳回 1。如果 LASTNAME 的字母順序比 FIRSTNAME 更後面,BPCHARCMP 傳回 -1。

此範例傳回 USER 資料表中 FIRSTNAME 與 LASTNAME 相同的所有項目:

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 (8 rows)