這篇文章主要介紹了PostgreSQL regexp_matches替換like模糊查詢的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧!
我就廢話不多說了,大家還是直接看代碼吧~
改前:
1select * from 表名 where 字段名 like ||#{參數}||'%'
改后:
1select *,regexp_matches(字段名, #{參數}) from 表名
補充:postgresql實現模糊查詢 正則表達式
因為數據庫的查詢操作比較單一,所以大部分的模糊查詢操作都需要手動編寫程序來實現。
postgresql提供有強大的正則表達式系統,可以在數據庫級別實現模糊查詢。
正則表達式匹配操作符:
操作符描述例子
~匹配正則表達式,大小寫相關'thomas' ~ '.*thomas.*'
~*匹配正則表達式,大小寫無關'thomas' ~* '.*Thomas.*'
!~不匹配正則表達式,大小寫相關'thomas' !~ '.*Thomas.*'
!~*不匹配正則表達式,大小寫無關'thomas' !~* '.*vadim.*'
例如:
找出數據表account中所有用戶名包含baidu且不區(qū)分大小寫的用戶的信息。
1select * from account where username ~* 'baidu';
使用正則表達式之后可以實現不區(qū)分大小寫的功能,并且大大減少了sql語句的長度。
文章來源:腳本之家
來源地址:https://www.jb51.net/article/204869.htm
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!