Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

BPCHARCMP 函数

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

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

BTTEXT_PATTERN_CMP 函数的同义词。

语法

Copy
BPCHARCMP(string1, string2)

参数

string1

第一个输入参数为 CHAR 或 VARCHAR 字符串。

string2

第二个参数为 CHAR 或 VARCHAR 字符串。

返回类型

BPCHARCMP 函数返回整数。

示例

以下示例将确定 USERS 中的前十个条目的用户的名字在字母顺序上是否比其姓氏更靠后:

Copy
select userid, firstname, lastname, bpcharcmp(firstname, lastname) from users order by 1, 2, 3, 4 limit 10;

此示例返回以下示例输出:

Copy
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)

您可以看到,对于这样的条目,BPCHARCMP 将返回 1:其中的 FIRSTNAME 的字符串在字母顺序上比 LASTNAME 的字符串更靠后。如果 LASTNAME 在字母顺序上比 FIRSTNAME 更靠后,BPCHARCMP 将返回 -1。

此示例返回 USER 表中具有相同的 FIRSTNAME 和 LASTNAME 的所有条目:

Copy
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)

本页内容: