- 类别:
COLLATE¶
返回原始字符串的副本,但此副本具有指定的 collation_specification 属性,而不是原始的 collation_specification 属性。
此副本可用于后续字符串比较,这将使用新的 collation_specification。
语法¶
COLLATE 函数可以作为普通函数调用:
COLLATE 函数可以像中缀运算符一样使用:
实参¶
string_expression要复制的字符串。
collation_specification字符串副本要存储的排序规则。有关排序规则说明符的更多信息,请参阅 排序规则规范。
返回¶
返回原始字符串的副本,但此副本具有指定的 collation_specification 属性,而不是原始的 collation_specification。
使用说明¶
每个 VARCHAR 都包含一个属性,此属性保存了排序规则说明符,以便在将该 VARCHAR 与另一个 VARCHAR 进行比较时使用。COLLATE 函数复制字符串,但将新的排序规则规范而不是原始规范放入副本中。
字符串本身保持不变;仅更改与字符串关联的排序规则说明符。
将 COLLATE 用作中缀运算符时,
collation_specification必须是常量字符串,而不是常规表达式。
示例¶
在下面的示例中,可以看到调用 COLLATE 函数将返回具有另一个排序规则规范的字符串副本。
备注
有关使用 COLLATE 函数的更多示例,请参阅 排序规则示例。
创建表并插入一行。在插入的行中,值的排序规则规范为 ``es``(西班牙语)。
此示例说明 COLLATE 函数不会更改字符串。第三列中复制的字符串为小写,就像第一列中的原始字符串为小写一样。但是,COLLATE 返回的值的排序规则规范已从 es 更改为 es-ci。
此示例显示,尽管 COLLATE 返回的值仍是小写字符串,但在将该字符串与另一个字符串进行比较时,将使用 ci 排序规则说明符:
此示例使用德语排序规则对结果进行排序。
以下两个查询返回相同的结果。第一个使用 COLLATE 作为函数;第二个使用 COLLATE 作为中缀运算符: