本地化顺序

本地化顺序是与自然语言相关的字符顺序。语言环境按本地化顺序定义字符的顺序。

例如:即使字符 À 可能具有代码点 133,本地化顺序也可能将此字符列在 A 之后和 B 之前(A=65,À=133,B=66)。在这种情况下,字符串 B 排在 AC 之后,但排在 BD 之前。

数据库服务器使用本地化顺序对以下数据类型列进行排序:
本地化顺序可以包括等价字符,即数据库服务器在整理时要视为等价物的字符。例如:如果语言环境在本地化顺序中将字符的大写和小写版本定义为等价,那么字符串 ArizonaARIZONAarizona 将整理在一起,就象所有三个字符串是同一字符串。
提示: 语言环境文件的 COLLATION 类别指定本地化顺序(如果存在)。有关更多信息,请参阅 COLLATION 类别
本地化顺序还可以指定与语言环境字符集中代码点的顺序不匹配的整理顺序。例如:电话号码薄可能需要以下排序顺序:
Mabin
McDonald
MacDonald
Madden
但是,词典可能对相同名称使用此整理顺序:
Mabin
Madden
MacDonald
McDonald

如果 GLS 语言环境定义了本地化顺序,那么数据库服务器将按此本地化顺序对 NCHAR 和 NVARCHAR 列中的数据进行排序。有关按本地化顺序排序的数据的示例,请参阅表 2

GBase 8s 支持 SET COLLATION 语句,该语句可以指定与 DB_LOCALE 设置不同的本地化整理。非缺省整理顺序的作用域为当前会话,但执行整理的数据库对象(如索引或触发器)在对 NCHAR 或 NVARCHAR 值进行排序时使用自它们创建以来的整理顺序。

在 SET COLLATION 语句已指定本地化整理顺序,并且您已完成所有需要该本地化顺序的排序任务之后,您可以复原 DB_LOCALE 设置通过发出 SQL 的 SET NO COLLATION 语句指示的整理。

SET COLLATION 语句仅影响数据库服务器执行的本地化整理操作。由客户机进行的 NCHAR 或 NVARCHAR 数据值排序会始终遵循 CLIENT_LOCALE 设置的整理顺序,而忽略任何 SET COLLATION 规范。有关可以定义客户机语言环境或服务器语言环境的环境变量的更多信息,请参阅客户机/服务器环境中的语言环境