GBase 8s中使用 REGEXP_LIKE 操作符来进行正则表达式匹配。GBase 8s的正则表达式匹配与PHP、Perl这些脚本的类似。
下表中的正则模式可应用于 REGEXP_LIKE 操作符中。
^ 匹配输入字符串的开始位置。
$ 匹配输入字符串的结束位置。
. 匹配除 “\n” 之外的任何单个字符。
[…] 字符集合。匹配所包含的任意一个字符。
[^…] 负值字符集合。匹配未包含的任意字符。
p1|p2|p3 匹配 p1 或 p2 或 p3。
* 匹配前面的子表达式零次或多次。
+ 匹配前面的子表达式一次或多次。
{n} n 是一个非负整数。匹配确定的 n 次。
{n,m} m 和 n 均为非负整数,其中n <= m。
实例
了解以上的正则需求后,我们就可以根据自己的需求来编写带有正则表达式的SQL语句。以下我们将列出几个小实例(表名:company )来加深我们的理解:
查找name字段中以’L’为开头的所有数据:
Select name from t1 where name LIKE ‘^L’;
查找name字段中以’M’为结尾的所有数据:
Select name from t1 where name LIKE ‘M$’;
查找name字段中包含多个’s’ 字符串的所有数据:
Select name from t1 where name LIKE ‘M+’;