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)