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

其中nameArr存儲(chǔ)的是名字集合,現(xiàn)在的需求是傳入"aaa","fff",需要把包含這兩個(gè)name的數(shù)據(jù)都查出來。
解決方案:
可以使用
REGEXP來匹配包含多個(gè)特定ID的字符串。使用以下正則表達(dá)式:
select * from test where nameArr regexp '"aaa"|"fff"'
使用mybatis實(shí)現(xiàn)
mapper
/**
* 正則匹配多個(gè)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>解析一下這個(gè)sql
ids這個(gè)集合會(huì)循環(huán)逗號(hào)拼接,打印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匹配多個(gè)字符串實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mysql regexp匹配多個(gè)字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL 外鍵約束和表關(guān)系相關(guān)總結(jié)
一個(gè)項(xiàng)目中如果將所有的數(shù)據(jù)都存放在一張表中是不合理的,比如一個(gè)員工信息,公司只有2個(gè)部門,但是員工有1億人,就意味著員工信息這張表中的部門字段的值需要重復(fù)存儲(chǔ),極大的浪費(fèi)資源,因此可以定義一個(gè)部門表和員工信息表進(jìn)行關(guān)聯(lián),而關(guān)聯(lián)的方式就是外鍵。2021-06-06
MySQL數(shù)據(jù)庫(kù)防止人為誤操作的實(shí)例講解
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)防止人為誤操作的方法,需要的朋友可以參考下2014-06-06
mybatis 實(shí)現(xiàn) SQL 查詢攔截修改詳解
這篇文章主要介紹了mybatis 實(shí)現(xiàn) SQL 查詢攔截修改詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
lnmp下如何關(guān)閉Mysql日志保護(hù)磁盤空間
這篇文章主要介紹了lnmp下如何關(guān)閉Mysql日志保護(hù)磁盤空間的相關(guān)資料,需要的朋友可以參考下2015-09-09
sql中替換函數(shù)replace()用法與實(shí)例總結(jié)
這篇文章主要給大家介紹了關(guān)于sql中替換函數(shù)replace()用法與實(shí)例的相關(guān)資料,在SQL中REPLACE函數(shù)用于替換一個(gè)字符串中的一部分為另一個(gè)字符串,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02
MySQL常用命令與內(nèi)部組件及SQL優(yōu)化詳情
這篇文章主要介紹了MySQL常用命令與內(nèi)部組件及SQL優(yōu)化詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07

