选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

COLLATE 函数

聚焦模式
COLLATE 函数 - Amazon Redshift

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

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

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

语法

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

参数

string

要覆盖的字符串列或表达式。

'case_sensitive' | 'case_insensitive'

排序规则名称的字符串常量。Amazon Redshift 仅支持 case_sensitivecase_insensitive

返回类型

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

示例

要创建表 T 并将表 T 中的 col1 定义为 case_sensitive,请使用以下示例。

CREATE TABLE T ( col1 Varchar(20) COLLATE case_sensitive ); INSERT INTO T VALUES ('john'),('JOHN');

当您运行第一个查询时,Amazon Redshift 仅返回 john。在 col1 上运行 COLLATE 函数后,排序规则变成 case_insensitive。第二个查询同时返回 johnJOHN

SELECT * FROM T WHERE col1 = 'john'; +------+ | col1 | +------+ | john | +------+ SELECT * FROM T WHERE COLLATE(col1, 'case_insensitive') = 'john'; +------+ | col1 | +------+ | john | | JOHN | +------+

要创建表 A 并将表 A 中的 col1 定义为 case_insensitive,请使用以下示例。

CREATE TABLE A ( col1 Varchar(20) COLLATE case_insensitive ); INSERT INTO A VALUES ('john'),('JOHN');

当您运行第一个查询时,Amazon Redshift 同时返回 johnJOHN。在 col1 上运行 COLLATE 函数后,排序规则变成 case_sensitive。第二个查询仅返回 john

SELECT * FROM A WHERE col1 = 'john'; +------+ | col1 | +------+ | john | | JOHN | +------+ SELECT * FROM A WHERE COLLATE(col1, 'case_sensitive') = 'john'; +------+ | col1 | +------+ | john | +------+

下一主题:

CONCAT

上一主题:

CHR

本页内容

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。