模糊查询
GBase 8s 可以通过 LIKE 或 MATCHES 运算符进行模糊查询。
如果下列任一为真,即符合 LIKE 或 MATCHES 条件:
- LIKE 或 MATCHES 关键字前面的列的值与加引号的字符串指定的模式相匹配。您可在字符串中使用通配符。
- LIKE 或 MATCHES 关键字前面的列的值与由跟在 LIKE 或 MATCHES 关键字之后的列指定的模式相匹配。在条件中,右边的列值作为匹配模式。
LIKE 运算符支持的通配符包括
通配符 | 作用 |
---|---|
% | 与零个或多个字符相匹配 |
_ | 与任何单个字符相匹配 |
\ | 将特殊含义的字符转义 |
MATCHES 运算符支持的通配符包括
通配符 | 作用 |
---|---|
* | 与零个或多个字符的任何字符串相匹配 |
? | 与任何单个字符相匹配 |
[…] | 与包括范围的任何括起来的字符相匹配,如 [abc] ,与a、b、c相匹配。 |
[^…] | 与方括号内未罗列的任何字符相匹配,如[^abc],与除了a、b、c之外字符相匹配。 |
\ | 将特殊含义的字符转义 |
示例
- SELECT 语句返回 customer 表中 VARCHAR 类型的 lname 列以文字字符串 ‘Baxter’ 开头的所有行。
SELECT * FROM customer WHERE lname LIKE 'Baxter%' ;
- SELECT 语句返回 SG_DEV_ACLINE 表中的 length 列包含数字 ‘261’ 的所有行。
SELECT * FROM customer WHERE lname LIKE fname;