PGSQL中的LIKE,ILIKE,SIMILAR TO的使用

本文详细介绍了PostgreSQL的模糊查询功能,包括LIKE、ILIKE和SIMILARTO的使用方法,以及它们的区别和正则表达式支持。重点展示了区分大小写和不区分大小写的查询,以及如何利用正则表达式进行灵活的模式匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

  这里主要时对模糊查询进行一些稍微细粒度的说明,更细力度的可能就需要各位看官各自去查询了。模糊查询只要是使用数据库,做开发的基本上都会知道这个LIKE。但是今天要进行说明的是PGSQL的模糊查询,PGSQL在很多地方都进行了功能的扩展(我猜想主要是由于开源的功劳)。

  PGSQL的模糊查询有LIKE,ILIKE,SIMILAR TO以及一些运算符。(LIKE我们常用的模糊查询;ILIKE不区分大小写的模糊查询;SIMILAR TO可以使用正则表达式的模糊查询)

LIKE

select *from sys_dict where dict_name LIKE '%ALIYUN%';

 like的模糊查询,‘_’是一个字符占位符,‘%’是多字符占位符。这个的查询区分大小写。

select *from sys_dict where dict_name ~~ '%ALIYUN%';

‘~~’ 和 ‘LIKE’等效。
‘!~~’ 和 ‘NOT LIKE’ 等效。

ILIKE

select *from sys_dict where dict_name ilike '%ALIYUN%'

 和LIKE一样的使用方式,但是这个查询不区分大小写。

select *from sys_dict where dict_name ~~* '%ALIYUN%';

‘~~*’ 和 ‘ILIKE’等效。
‘!~~*’ 和 ‘NOT ILIKE’ 等效。

SIMILAR TO

select *from sys_dict where dict_name SIMILAR TO '\S*ALIYUN\S*';

  可以使用正则表达式查询。

select *from sys_dict where dict_name ~ '\S*ALIYUN\S*';

POSIX正则表达式的模式匹配操作符有以下几种:
(1)~ :匹配正则表达式,区分大小写。
(2)~* : 匹配正则表达式,不分大小写。
(3)!~:不匹配正则表达式,区分大小写。
(4)!~* :不匹配正则表达式,不分大小写。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值