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語句的長(zhǎng)度。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
在docker上部署postgreSQL主從的超詳細(xì)步驟
使用Docker能夠更加高效地部署和管理應(yīng)用程序,提高開發(fā)和運(yùn)維的效率,下面這篇文章主要給大家介紹了關(guān)于在docker上部署postgreSQL主從的超詳細(xì)步驟,文中通過代碼及圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08postgresql分頁數(shù)據(jù)重復(fù)問題的深入理解
這篇文章主要給大家介紹了關(guān)于postgresql分頁數(shù)據(jù)重復(fù)問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用postgresql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04PostgreSQL物理備份恢復(fù)之 pg_rman的用法說明
這篇文章主要介紹了PostgreSQL物理備份恢復(fù)之 pg_rman的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02postgreSQL數(shù)據(jù)庫的監(jiān)控及數(shù)據(jù)維護(hù)操作
這篇文章主要介紹了postgreSQL數(shù)據(jù)庫的監(jiān)控及數(shù)據(jù)維護(hù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01postgresql 除法保留小數(shù)位的實(shí)例
這篇文章主要介紹了postgresql 除法保留小數(shù)位的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01postgresql 查詢集合結(jié)果用逗號(hào)分隔返回字符串處理的操作
這篇文章主要介紹了postgresql 查詢集合結(jié)果用逗號(hào)分隔返回字符串處理的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02