PostgreSQL笔记-模糊查询

like、not like

like、not like在SQL中用于模糊查询,%表示任意个字符,_表示单个任意字符,如果需要在模糊查询中查询这两个通配符,需要用ESCAPE进行转义

escape

--sql1
select remark
from t_customer
where remark like '%~/%' escape '~';
--result1
已售/田
已售/田
已签约/田
3.14号星星预占2400/3年

--sql2
select remark
from t_customer
where remark like '%售/%' escape '售';
--result2
已售/田
已售/田
已签约/田
3.14号星星预占2400/3年

ilike、not ilike

ilike表示在模糊匹配字符串时不区分大小写,i即是ignore的意思。

not ilike表示不模糊匹配字符串且不区分大小写。

~、~*、!~、!~*

~表示匹配正则表达式,且区分大小写。

~*表示匹配正则表达式,且不区分大小写。

!~ 是~的否定用法,表示不匹配正则表达式,且区分大小写。

!~* 是~*的否定用法,表示不匹配正则表达式,且不区分大小写。

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

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

正则表达式的通配符

SQL 通配符

模式匹配

|表示选择(两个候选之一)。

*表示重复前面的项零次或更多次。

+表示重复前面的项一次或更多次。

?表示重复前面的项零次或一次。

{m}表示重复前面的项刚好m次。

{m,}表示重复前面的项m次或更多次。

{m,n}表示重复前面的项至少m次并且不超过n次。

可以使用圆括号()把多个项组合成一个逻辑项。

一个方括号表达式[…]声明一个字符类,就像 POSIX 正则表达式一样。

注意点号(.)不是SIMILAR TO的一个元字符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
PostgreSQL中,有两种方式可以进行多字模糊查询。第一种方式是使用LIKE操作符,它可以用来匹配文本值并进行模糊查询。你可以使用通配符%来表示任意个字符,使用_来表示单个任意字符。例如,如果你想查询名字以"张"开头的人,可以使用以下语句:SELECT * FROM table WHERE name LIKE '张%'; \[3\] 另一种方式是使用正则表达式进行模糊查询PostgreSQL提供了强大的正则表达式系统,可以在数据库级别实现模糊查询。你可以使用~操作符来进行正则表达式匹配。例如,如果你想查询名字中包含"価仴"的人,可以使用以下语句:SELECT * FROM table WHERE name ~ '価仴'; \[2\] 这两种方式的区别在于,LIKE操作符是基于通配符的模式匹配,而正则表达式则更加灵活和强大。你可以根据具体的需求选择适合的方式进行多字模糊查询。 #### 引用[.reference_title] - *1* [postgresql模糊查询](https://blog.csdn.net/u012894692/article/details/82692369)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [PostgreSQL-模糊查询](https://blog.csdn.net/kmblack1/article/details/78566098)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [PostgreSQL - 模糊查询](https://blog.csdn.net/lewky_liu/article/details/88047548)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值