MATCHES 子句和非缺省语言环境
缺省情况下,对数据库数据,GBase 8s 数据库服务器使用美国英语语言环境,称为语言环
境。缺省的语言环境使用 ISO 8859-1 代码集。该美国英语语言环境指定 MATCHES 将使
用代码集顺序。
如果数据库使用非缺省语言环境,那么指定范围的 MATCHES 子句将该语言环境的整理顺
序用于字符数据类型(包括 CHAR 、NCHAR 、VARCHAR 、NVARCHAR 和
LVARCHAR)。MATCHES 范围的此功能是一般规则(只有 NCHAR 和 NVARCHAR 列
可使用特定于语言环境的整理)的例外情况。然而,如果语言环境不能指定任何特殊整理
顺序,那么 MATCHES 使用代码集顺序。
在 GBase 8s 中,可以使用 SET COLLATION 语句为会话指定不同于 DB_LOCALE 设置的
数据库语言环境。有关 SET COLLATION 的描述,请参阅《GBase 8s SQL 指南:语法》。
保护特殊字符
下列查询使用 ESCAPE 与 LIKE 或 MATCHES 配合使用,以便您可以保护特殊字符,使
它们不会被误认为是通配符。
图: 查询
ESCAPE 关键字指定包含下一个字符的转义字符(在本示例中为 !)以便将它解释为数据
而不是通配符。在该示例中,转义字符导致将中间的百分号(%)当作数据。通过使用
ESCAPE 关键字,您可以使用 LIKE 通配符百分号(%)在 res_descr 列中搜索百分号(%)
的出现次数。查询检索下列显示的行。
图: 查询结果