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

COLLATE 函数

COLLATE 函数覆盖字符串列或表达式的排序规则。

有关如何使用数据库排序规则创建表的信息,请参阅CREATE TABLE

有关如何使用数据库排序规则创建数据库的信息,请参阅CREATE DATABASE

Syntax

COLLATE(string, 'case_sensitive' | 'case_insensitive');

Argument

字符串

COLLATE 函数采用两个输入参数。第一个输入是要覆盖的字符串列或表达式。第二个输入是排序规则名称的字符串常量。Amazon Redshift 仅支持 case_sensitivecase_insensitive

返回类型

COLLATE 函数根据第一个输入表达式类型返回 VARCHAR 或 CHAR。此函数仅更改第一个输入参数的排序规则,不会更改其输出值。

Example

以下示例将表 T1 中的 col1 定义为 case_sensitive。当您运行第一个查询时,Amazon Redshift 仅返回一行“john”。在 col1 上运行 collate 函数后,排序规则变成 case_insensitive。第二个查询同时返回“john”和“JOHN”。

CREATE TABLE T ( col1 Varchar(20) COLLATE case_sensitive );
INSERT INTO T VALUES ('john'),('JOHN');
SELECT * FROM T WHERE col1 = 'john'; col1 ------ john (1 rows)
SELECT * FROM T WHERE collate(col1, 'case_insensitive') = 'john'; col1 ------ john JOHN (2 rows)