- 类别:
[ NOT ] RLIKE¶
执行比较以确定字符串是否与指定模式相匹配。两个输入都必须是文本表达式。
RLIKE 与 [ NOT ] LIKE 函数类似,但使用 POSIX 扩展的正则表达式而不是 SQL LIKE 模式语法。它支持比 LIKE 更复杂的匹配条件。
小技巧
您可以使用搜索优化服务,提高用于调用此函数的查询的性能。有关详细信息,请参阅 搜索优化服务。
- 别名:
[ NOT ] REGEXP (第 2 种语法)、REGEXP_LIKE (第 1 种语法)
另请参阅:字符串函数(正则表达式)
语法¶
实参¶
必填:
subject用于搜索匹配项的字符串。
pattern要匹配的模式。
有关指定模式的准则,请参阅 字符串函数(正则表达式)。
可选:
parameters包含一个或多个字符的字符串,指定用于搜索匹配项的参数。支持的值:
参数
描述
c区分大小写的匹配
i不区分大小写的匹配
m多行模式
e提取子匹配项
sSingle-line mode POSIX wildcard character
.matches\n默认:
cFor more information, see 为正则表达式指定参数.
返回¶
返回 BOOLEAN 或 NULL。
指定 RLIKE 时,如果存在匹配项,则值为 TRUE。否则返回 FALSE。
指定 NOT RLIKE 时,如果没有匹配项,则值为 TRUE。否则返回 FALSE。
当指定 RLIKE 或 NOT RLIKE 时,如果任何实参为 NULL,则返回 NULL。
使用说明¶
The function implicitly anchors a pattern at both ends (for example,
''automatically becomes'^$', and'ABC'automatically becomes'^ABC$'). For example, to match any string starting withABC, the pattern is'ABC.*'.反斜杠字符 (
\) 是转义字符。有关更多信息,请参阅 在以单引号括起的字符串常量中指定正则表达式。有关更多使用说明,请参阅 一般使用说明,了解正则表达式函数。
排序规则详细信息¶
Arguments with collation specifications currently aren't supported.
示例¶
运行以下命令,为本主题中的示例设置数据:
使用第一种语法的示例¶
以下示例使用通配符执行不区分大小写的模式匹配:
以下示例确定字符串是否与电话号码和电子邮件地址的格式匹配。在这些示例中,正则表达式在 放在美元符号内的字符串 中指定,以避免将正则表达式中的反斜杠转义。
以下示例执行相同的匹配,但使用 放在单引号内的字符串常量 来指定正则表达式。
由于示例使用放在单引号内的字符串常量,因此:ref:每个反斜杠都必须用另一个反斜杠进行转义<label-regexp_escape_character_caveats>。
或者重写语句,避免使用依赖反斜杠字符的序列。
使用第二种语法的示例¶
以下示例使用通配符执行不区分大小写的模式匹配:
其他示例¶
有关正则表达式的其他示例,请参阅 [ NOT ] REGEXP。