~(暂且叫他波浪号吧) 和 LIKE 和 ILIKE 操作符可以模糊匹配字符串, LIKE 是一般用法, ILIKE 匹配时则不区分字符串的大小写,~ 波浪号则可以使用正则匹配.
LIKE 和 ILIKE
它们需要结合通配符使用, 下面介绍两种常用的通配符.
%: 百分号用于匹配字符串序列, 可匹配任意组合;
_: 下划线用于匹配任何单一字符.
~ 波浪号
则可以使用正则模式来匹配字符串, 除此之外它匹配模式还有一个特殊的地方
select * from table where ~ 'ab'; --> 如果是这样的形式就代表着他可以匹配任何包含 ab 的字符串其实就相当于省略的两边的 .*
如果想要做前缀匹配或后缀匹配, 可以用下面的方法
1, 前缀 + 模糊查询.
select * from table where ~ '^ab';
2, 后缀 + 模糊查询.
select * from table where ~ 'ab$';
来源: http://www.bubuko.com/infodetail-2851993.html