mysql regexp匹配多個字符串實(shí)現(xiàn)
項(xiàng)目場景:
數(shù)據(jù)結(jié)構(gòu)

其中nameArr存儲的是名字集合,現(xiàn)在的需求是傳入"aaa","fff",需要把包含這兩個name的數(shù)據(jù)都查出來。
解決方案:
可以使用
REGEXP來匹配包含多個特定ID的字符串。使用以下正則表達(dá)式:
select * from test where nameArr regexp '"aaa"|"fff"'
使用mybatis實(shí)現(xiàn)
mapper
/**
* 正則匹配多個id字符串
*/
List<TestEntity> list(@Param("ids") List<String> ids);xml
<select id="list" resultType="com.test.TestEntity">
select * from test
<if test="ids != null and ids.size()>0">
and nameArr regexp concat('"',
concat_ws('"|"',
<foreach collection="ids" item="item" separator=",">
#{item}
</foreach>
),'"')
</if>
</select>解析一下這個sql
ids這個集合會循環(huán)逗號拼接,打印sql
select * from test
where nameArr regexp concat('"',concat_ws('"|"','aaa','fff'),'"')最終的sql
select * from test where nameArr regexp '"aaa"|"fff"'
到此這篇關(guān)于mysql regexp匹配多個字符串實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mysql regexp匹配多個字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL中使用VARCHAR字段進(jìn)行日期篩選的最佳實(shí)踐
本文將從VARCHAR存日期的常見格式、正確篩選方法、核心風(fēng)險與問題、最佳實(shí)踐改造方案、實(shí)戰(zhàn)示例五個維度出發(fā),全面講解在MySQL中使用VARCHAR字段進(jìn)行日期篩選的知識,幫你避開坑點(diǎn),同時給出長期優(yōu)化方向2026-03-03
MySQL服務(wù)器 IO 100%的分析與優(yōu)化方案
這篇文章主要給大家介紹了關(guān)于MySQL服務(wù)器 IO 100%的相關(guān)資料,文中通過示例代碼介紹的介紹非常詳細(xì),對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10
mysql安全啟動腳本mysqld_safe詳細(xì)介紹
這篇文章主要介紹了mysql安全啟動腳本mysqld_safe詳細(xì)介紹,mysqld_safe增加了一些安全特性,需要的朋友可以參考下2014-07-07
數(shù)據(jù)庫查詢優(yōu)化之子查詢優(yōu)化
今天小編就為大家分享一篇關(guān)于數(shù)據(jù)庫查詢優(yōu)化之子查詢優(yōu)化,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01

