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

Posted 少年依旧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgresql数据库中~和like和ilike的区别相关的知识,希望对你有一定的参考价值。

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

 

LIKEILIKE

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

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

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

 

 ~ 波浪号

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

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

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

1、前缀+模糊查询。

select * from table where ~ ‘^ab‘;

2、后缀+模糊查询。

select * from table where ~ ‘ab$‘;

以上是关于postgresql数据库中~和like和ilike的区别的主要内容,如果未能解决你的问题,请参考以下文章

Postgresql 包含在 where 子句中

postgresql----LIKE和SIMILAR TO

LOWER LIKE vs iLIKE

PostgreSQL hstore:使用索引提高LIKE性能?

Postgresql 对非重音不敏感,对重音词敏感

在 PostgreSQL 中查询 iLike 列表