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]+$'