BPCHARCMP 函数 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

BPCHARCMP 函数

比较两个字符串的值并返回整数。如果字符串相同,此函数返回 0。如果按字母顺序,第一个字符串更靠后,则函数返回 1。如果第二个字符串较大,则函数返回 -1

对于多字节字符,该比较基于字节编码。

BTTEXT_PATTERN_CMP 函数的同义词。

语法

BPCHARCMP(string1, string2)

参数

string1

CHAR 字符串或 VARCHAR 字符串。

string2

CHAR 字符串或 VARCHAR 字符串。

返回类型

INTEGER

示例

以下示例使用 TICKIT 示例数据库中的 USERS 表。有关更多信息,请参阅示例数据库

要确定 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 | +--------+-----------+----------+-----------+