postgresql数据库中~和like和ilike的区别

时间:2022-11-06 16:10:24

 ~(暂且叫他波浪号吧) 和 LIKEILIKE 操作符可以模糊匹配字符串,LIKE是一般用法,ILIKE匹配时则不区分字符串的大小写,~ 波浪号则可以使用正则匹配

LIKEILIKE

它们需要结合通配符使用,下面介绍两种常用的通配符。

%:百分号用于匹配字符串序列,可匹配任意组合;

_:下划线用于匹配任何单一字符。

 ~ 波浪号

则可以使用正则模式来匹配字符串,除此之外它匹配模式还有一个特殊的地方

select * from table where ~ 'ab';    --> 如果是这样的形式就代表着他可以匹配任何包含ab的字符串其实就相当于省略的两边的 .*

如果想要做前缀匹配或后缀匹配,可以用下面的方法

1、前缀+模糊查询。

select * from table where ~ '^ab';

2、后缀+模糊查询。

select * from table where ~ 'ab$';