REGEXP_NOT_LIKE
如果字符串不包含正则表达式的匹配项,则返回 True。REGEXP_NOT_LIKE 是区分大小写的正则表达式。
此函数使用默认区域设置对 UTF-8 字符串进行操作,即使区域设置设置为其他方式。
重要
如果要从 Oracle 数据库转移正则表达式查询,请记住 Oracle 将零长度字符串视为等同于 NULL,而 Vertica 却不会这样。语法
REGEXP_NOT_LIKE ( string-expression, pattern )
参数
示例
-
创建一个包含 LONG VARCHAR 列
body
的表 (longvc
)。然后,插入包含一些不同字符的数据,并查询表内容:=> CREATE table longvc(body long varchar (1048576)); CREATE TABLE
=> insert into longvc values ('На берегу пустынных волн'); => insert into longvc values ('Voin syödä lasia, se ei vahingoita minua'); => insert into longvc values ('私はガラスを食べられます。それは私を傷つけません。'); => insert into longvc values ('Je peux manger du verre, ça ne me fait pas mal.'); => insert into longvc values ('zésbaésbaa');
=> SELECT * FROM longvc; body ------------------------------------------------ На берегу пустынных волн Voin syödä lasia, se ei vahingoita minua 私はガラスを食べられます。それは私を傷つけません。 Je peux manger du verre, ça ne me fait pas mal. zésbaésbaa (5 rows)
-
使用
REGEXP_NOT_LIKE
可以返回不包含字符ç
的行:=> SELECT * FROM longvc where regexp_not_like(body, 'ç'); body ---------------------------------------------------- Voin syödä lasia, se ei vahingoita minua zésbaésbaa На берегу пустынных волн 私はガラスを食べられます。それは私を傷つけません。 (4 rows)
-
返回不包含字符
*ö
和*ä
的所有行:=> SELECT * FROM longvc where regexp_not_like(body, '.*ö.*ä'); body ---------------------------------------------------- Je peux manger du verre, ça ne me fait pas mal. zésbaésbaa На берегу пустынных волн 私はガラスを食べられます。それは私を傷つけません。 (4 rows)
-
对不包含子字符
z
和*ésbaa
的所有行进行模式匹配:=> SELECT * FROM longvc where regexp_not_like(body, 'z.*ésbaa'); body ---------------------------------------------------- Je peux manger du verre, ça ne me fait pas mal. Voin syödä lasia, se ei vahingoita minua zésbaésbaa На берегу пустынных волн 私はガラスを食べられます。それは私を傷つけません。 (5 rows)