18 操作符
18.1 ~
在PostgreSQL中,~
操作符是用来执行正则表达式匹配的。当你在查询语句中使用 ~
时,它会检查左侧的字符串值是否与右侧的正则表达式模式相匹配。如果匹配成功,则返回 TRUE
,否则返回 FALSE
。
例如:
SELECT 'Hello, World!' ~ 'World';
上面的SQL语句将返回 TRUE
,因为 'Hello, World!'
字符串包含了 'World'
这个正则表达式模式。
同样地,
SELECT 'Hello, PostgreSQL!' ~ '^Hello, [A-Z][a-z]*$';
这个例子也会返回 TRUE
,因为字符串 'Hello, PostgreSQL!'
符合正则表达式模式 '^Hello, [A-Z][a-z]*$'
,该模式描述了一个以 'Hello, '
开始,后面跟着一个大写字母开头的单词的字符串。
反之,否定形式 !~
则用来检查字符串是否不匹配给定的正则表达式:
SELECT 'Hello, PostgreSQL!' !~ '^Hello, [a-z]+$';
这个例子将会返回 TRUE
,因为 'Hello, PostgreSQL!'
并不符合只包含小写字母的正则表达式模式 '^Hello, [a-z]+$'
。