本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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)