PostgreSQL regexp_matches替換like模糊查詢的操作
我就廢話不多說了,大家還是直接看代碼吧~
改前:
select * from 表名 where 字段名 like ||#{參數(shù)}||'%'
改后:
select *,regexp_matches(字段名, #{參數(shù)}) from 表名
補(bǔ)充:postgresql實(shí)現(xiàn)模糊查詢 正則表達(dá)式
因?yàn)閿?shù)據(jù)庫的查詢操作比較單一,所以大部分的模糊查詢操作都需要手動(dòng)編寫程序來實(shí)現(xiàn)。
postgresql提供有強(qiáng)大的正則表達(dá)式系統(tǒng),可以在數(shù)據(jù)庫級(jí)別實(shí)現(xiàn)模糊查詢。
正則表達(dá)式匹配操作符:
| 操作符 | 描述 | 例子 |
|---|---|---|
| ~ | 匹配正則表達(dá)式,大小寫相關(guān) | 'thomas' ~ '.*thomas.*' |
| ~* | 匹配正則表達(dá)式,大小寫無關(guān) | 'thomas' ~* '.*Thomas.*' |
| !~ | 不匹配正則表達(dá)式,大小寫相關(guān) | 'thomas' !~ '.*Thomas.*' |
| !~* | 不匹配正則表達(dá)式,大小寫無關(guān) | 'thomas' !~* '.*vadim.*' |
例如:
找出數(shù)據(jù)表account中所有用戶名包含baidu且不區(qū)分大小寫的用戶的信息。
select * from account where username ~* 'baidu';
使用正則表達(dá)式之后可以實(shí)現(xiàn)不區(qū)分大小寫的功能,并且大大減少了sql語句的長度。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
解決postgresql 數(shù)據(jù)庫 update更新慢的原因
這篇文章主要介紹了解決postgresql 數(shù)據(jù)庫 update更新慢的原因,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Postgresql數(shù)據(jù)庫密碼忘記的詳細(xì)解決方法
在使用PostgreSQL數(shù)據(jù)庫時(shí),忘記數(shù)據(jù)庫密碼可能會(huì)影響到正常的開發(fā)和維護(hù)工作,這篇文章主要介紹了Postgresql數(shù)據(jù)庫密碼忘記的詳細(xì)解決方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-06-06
PostgreSQL教程(十四):數(shù)據(jù)庫維護(hù)
這篇文章主要介紹了PostgreSQL教程(十四):數(shù)據(jù)庫維護(hù),本文講解了恢復(fù)磁盤空間、更新規(guī)劃器統(tǒng)計(jì)、VACUUM和ANALYZE的示例、定期重建索引等內(nèi)容,需要的朋友可以參考下2015-05-05
Postgresql數(shù)據(jù)庫character?varying和character的區(qū)別說明
這篇文章主要介紹了Postgresql數(shù)據(jù)庫character?varying和character的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
PGSQL實(shí)現(xiàn)判斷一個(gè)空值字段,并將NULL值修改為其它值
這篇文章主要介紹了PGSQL實(shí)現(xiàn)判斷一個(gè)空值字段,并將NULL值修改為其它值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL 使用raise函數(shù)打印字符串
這篇文章主要介紹了PostgreSQL 使用raise函數(shù)打印字符串,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL查詢歷史最大進(jìn)程數(shù)的多種方法
PostgreSQL是一個(gè)多進(jìn)程架構(gòu)的客戶端/服務(wù)器模式的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),PG數(shù)據(jù)庫中的一系列進(jìn)程組合進(jìn)來就是PostgreSQL服務(wù)端,PostgreSQL 提供了多種方式來查詢數(shù)據(jù)庫的歷史最大進(jìn)程數(shù)(連接數(shù)),本文給大家介紹了幾種有效方法,需要的朋友可以參考下2025-05-05
PostgreSQL的擴(kuò)展dict_int應(yīng)用案例解析
dict_int擴(kuò)展為PostgreSQL提供了專業(yè)的整數(shù)文本處理能力,特別適合需要精確處理數(shù)字內(nèi)容的搜索場景,本文給大家介紹PostgreSQL的擴(kuò)展dict_int實(shí)際應(yīng)用案例,感興趣的朋友一起看看吧2025-07-07

