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