GBase 8s 产品支持 ASCII 字符作为 MATCHES 和 LIKE 条件中的通配符。
GBase 8s 产品支持以下 ASCII 字符作为通配符:
条件 |
通配符 |
LIKE |
_ % |
MATCHES |
* ? [ ] ^ - |
对于 CHAR 和 VARCHAR 数据,数据库服务器对 LIKE 和 MATCHES 条件中的模式匹配执行逐字节的比较。对于 NCHAR 和 NVARCHAR 数据,数据库服务器在
LIKE 和 MATCHES 条件中执行基于逻辑字符而非字节的模式匹配。因此,LIKE 子句的下划线 (_) 通配符和 MATCHES 子句的 ?(问号)通配符与任何一个单字节或多字节字符匹配,如下表所示。
条件 |
带引号字符串 |
列值 |
结果 |
LIKE |
'ab_d' |
'abcd' |
True |
LIKE |
'ab_d' |
'abA1A2d' |
True |
MATCHES |
'ab?d' |
'abcd' |
True |
MATCHES |
'ab?d' |
'abA1A2d' |
True |
数据库服务器将所有多字节字符视作文字字符。要告诉数据库服务器按通配符文字意义解释通配符,必须在该字符前加一个转义字符。您必须将单字节字符用作转义字符;数据库服务器不能识别多字节字符的转义字符。缺省转义字符为反斜杠
(\) 符号。
以下 MATCHES 条件为显示的列值返回
TRUE 结果。
条件 |
带引号字符串 |
列值 |
结果 |
MATCHES |
'ab\?d' |
'ab?d' |
True |