黄小水的sql进阶之路之postgresql的模糊查询

ilike和not ilike

ilike 表示在模糊匹配字符串时不区分大小写,前置的i是ignore的意思。
举例
黄小水的sql进阶之路之postgresql的模糊查询
not ilike自然就是不模糊匹配字符串,且不区分大小写的意思了
上述例子如图
黄小水的sql进阶之路之postgresql的模糊查询

使用like时模糊匹配通配符时的问题

在使用like和not like有时需要模糊匹配%和_,这个时候就需要使用escape进行转义
例子如下
黄小水的sql进阶之路之postgresql的模糊查询
如图,/作为转义符,/后面的通配符可以当做普通字符来进行匹配
左模糊查询小路不高,尽量不要再应用中去使用

~ ,~* ; !~ , !~ *

~ 同样被用作于模糊查询,但是使用~来进行模糊查询的话不需要使用%等通配符,所以也就不存在使用like时的转义问题了,另一个比较强大的功能是 ~ 可以匹配正则表达式,且区分大小写,而 ~*表示不区分大小写
例子
黄小水的sql进阶之路之postgresql的模糊查询

~~ , ~~ * ; !~~ , !~~ *

~~ 等效于like,~~* 等效于ilike。

!~~ 等效于not like,!~~* 等效于not ilike。

例子
黄小水的sql进阶之路之postgresql的模糊查询