PGSQL中的LIKE,ILIKE,SIMILAR TO的使用
概述
这里主要时对模糊查询进行一些稍微细粒度的说明,更细力度的可能就需要各位看官各自去查询了。模糊查询只要是使用数据库,做开发的基本上都会知道这个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*ALIYUNS*;
可以使用正则表达式查询。
select *from sys_dict where dict_name ~ S*ALIYUNS*; POSIX正则表达式的模式匹配操作符有以下几种: (1)~ :匹配正则表达式,区分大小写。 (2)~* : 匹配正则表达式,不分大小写。 (3)!~:不匹配正则表达式,区分大小写。 (4)!~* :不匹配正则表达式,不分大小写。
下一篇:
oracle用户VNC远程桌面配置