暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8c 函数和操作符 - 模式匹配操作符 之 SIMILAR TO

菁菁 2022-09-26
165

描述:SIMILAR TO操作符根据自己的模式是否匹配给定串而返回真或者假。他和LIKE非常类似,只不过他使用SQL标准定义的正则表达式理解模式。

匹配规则:

a. 和LIKE一样,此操作符只有在它的模式匹配整个串的时候才能成功。如果要匹配在串内任何位置的序列,该模式必须以百分号开头和结尾。

b. 下划线 (_)代表(匹配)任何单个字符; 百分号(%)代表任意串的通配符。

c. SIMILAR TO也支持下面这些从POSIX正则表达式借用的模式匹配元字符,如表5-3所示。

                           表  元字符及其含义

元字符

含义

|

表示选择(两个候选之一)

*

表示重复前面的项零次或更多次

+

表示重复前面的项一次或更多次

?

表示重复前面的项零次或一次

{m}

表示重复前面的项刚好m次

{m,}

表示重复前面的项m次或更多次

{m,n}

表示重复前面的项至少m次并且不超过n次

()

把多个项组合成一个逻辑项

[...]

声明一个字符类,就像POSIX正则表达式一样

d. 前导逃逸字符可以禁止所有这些元字符的特殊含义。逃逸字符的使用规则和LIKE一样。

正则表达式函数:

支持使用函数substring(string from pa...截取匹配SQL正则表达式的子字符串。

示例:

gbase=# SELECT 'abc' SIMILAR TO 'abc' AS RESULT;

result

-----------

t

(1 row)

gbase=# SELECT 'abc' SIMILAR TO 'a' AS RESULT;

result

-----------

f

(1 row)

gbase=# SELECT 'abc' SIMILAR TO '%(b|d)%' AS RESULT;

result

-----------

t

(1 row)

gbase=# SELECT 'abc' SIMILAR TO '(b|c)%' AS RESULT;

result

-----------

f

(1 row)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论