你说你看不懂openGauss我都不信(180)

30 阅读1分钟

#openGauss #入门 #安装 #数据库 #开源

知识来源:docs-opengauss.osinfra.cn/zh/

SIMILAR TO

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

匹配规则:

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

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

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

    元字符

    含义

    |

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

    *

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

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

    ?

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

    {m}

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

    {m,}

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

    {m,n}

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

    ()

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

    [...]

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

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

示例:

sql 代码解读复制代码openGauss=# SELECT 'abc' SIMILAR TO 'abc' AS RESULT;
 result
-----------
 t
(1 row)


openGauss=# SELECT 'abc' SIMILAR TO 'a' AS RESULT;
 result
-----------
 f
(1 row)


openGauss=# SELECT 'abc' SIMILAR TO '%(b|d)%' AS RESULT;
 result
-----------
 t
(1 row)


openGauss=# SELECT 'abc' SIMILAR TO '(b|c)%'  AS RESULT;
 result
-----------
 f
(1 row)

#openGauss #入门 #安装 #数据库 #开源

知识来源:docs-opengauss.osinfra.cn/zh/