类别:

字符串函数(正则表达式)

REGEXP_LIKE

执行比较以确定字符串是否与指定模式相匹配。两个输入都必须是文本表达式。

REGEXP_LIKE 与 [ NOT ] LIKE 函数类似,但使用 POSIX 扩展的正则表达式而不是 SQL LIKE 模式语法。它支持比 LIKE 更复杂的匹配条件。

小技巧

您可以使用搜索优化服务,提高用于调用此函数的查询的性能。有关详细信息,请参阅 搜索优化服务

别名:

:doc:`rlike`(第 1 种语法)

另请参阅:字符串函数(正则表达式)

语法

REGEXP_LIKE( <subject> , <pattern> [ , <parameters> ] )
Copy

实参

必填:

subject

以匹配为准。

pattern

要匹配的模式。

可选:

parameters

包含一个或多个字符的字符串,指定用于搜索匹配项的参数。支持的值:

cimes

有关更多详细信息,请参阅 为正则表达式指定参数

默认:c

返回

返回 BOOLEAN 或 NULL。如果存在匹配项,则值为 TRUE。否则返回 FALSE。如果任何实参为 NULL,则返回 NULL。

使用说明

排序规则详细信息

Arguments with collation specifications are currently not supported.

示例

创建一个包含城市名称的表:

CREATE OR REPLACE TABLE cities(city varchar(20));
INSERT INTO cities VALUES
    ('Sacramento'),
    ('San Francisco'),
    ('San Jose'),
    (null);
Copy

使用通配符执行区分大小写的查询:

SELECT * FROM cities WHERE REGEXP_LIKE(city, 'san.*');
Copy
+------+
| CITY |
|------|
+------+

使用通配符执行不区分大小写的查询:

SELECT * FROM cities WHERE REGEXP_LIKE(city, 'san.*', 'i');
Copy
+---------------+
| CITY          |
|---------------|
| San Francisco |
| San Jose      |
+---------------+

有关正则表达式的其他示例,请参阅 [ NOT ] REGEXP

要搜索通配符,您需要转义通配符。有关通配符的详细信息,请参阅 在以单引号括起的字符串常量中指定正则表达式

语言: 中文