主頁 > 知識庫 > PostgreSQL regexp_matches替換like模糊查詢的操作

PostgreSQL regexp_matches替換like模糊查詢的操作

熱門標(biāo)簽:網(wǎng)站排名優(yōu)化 Linux服務(wù)器 呼叫中心市場需求 AI電銷 地方門戶網(wǎng)站 服務(wù)外包 鐵路電話系統(tǒng) 百度競價排名

我就廢話不多說了,大家還是直接看代碼吧~

改前:

select * from 表名 where 字段名 like ||#{參數(shù)}||'%'

改后:

select *,regexp_matches(字段名, #{參數(shù)}) from 表名

補(bǔ)充:postgresql實(shí)現(xiàn)模糊查詢 正則表達(dá)式

因?yàn)閿?shù)據(jù)庫的查詢操作比較單一,所以大部分的模糊查詢操作都需要手動編寫程序來實(shí)現(xiàn)。

postgresql提供有強(qiáng)大的正則表達(dá)式系統(tǒng),可以在數(shù)據(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語句的長度。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • postgresql varchar字段regexp_replace正則替換操作
  • postgresql 替換空格 換行和回車的操作
  • PostgreSQL 正則表達(dá)式替換-使用變量方式
  • postgresql 實(shí)現(xiàn)將字段為空的值替換為指定值

標(biāo)簽:崇左 銅川 湖南 仙桃 黃山 衡水 蘭州 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PostgreSQL regexp_matches替換like模糊查詢的操作》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266