Mysql中对带分号拼接的字段进行查询方法总结
数据库字段 String product_advantages
存储的值:10,4,8
当需要对该字段进行查询时,只需使用concat和 regexp两个函数即可
先查询所有字段
select id,product_code,product_advantages from t_financial_product
查询结果
id product_code product_advantages
2 HYNCS0000002 1,1,11
3 HYNCS0000003 1,1,11
4 HYNCS0000004 13,13,2
5 HYNCS0000005 13,13,2
6 HYNCS0000006 13,13,2
7 HYNCS0000007 13,13,2
8 HYNCS0000008 13,13,2
9 HYNCS0000009 13,13,2
10 HYNCS0000010 13,13,2
11 HYNCS0000011 13,13,2
12 HYNCS0000012 13,13,2
13 HYNCS0000012 13,13,2
14 HYNCS0000001 13,13,2
15 HYNCS0000013 10,4,8
再查询product_advantages
select id, product_code,product_advantages from t_financial_product where concat(',',product_advantages,',') regexp concat(',','10',',')
查询结果
id product_code product_advantages
15 HYNCS0000013 10,4,8
再多验证几个
select id, product_code,product_advantages from t_financial_product where concat(',',product_advantages,',') regexp concat(',','13',',')
查询结果
id product_code product_advantages
4 HYNCS0000004 13,13,2
5 HYNCS0000005 13,13,2
6 HYNCS0000006 13,13,2
7 HYNCS0000007 13,13,2
8 HYNCS0000008 13,13,2
9 HYNCS0000009 13,13,2
10 HYNCS0000010 13,13,2
11 HYNCS0000011 13,13,2
12 HYNCS0000012 13,13,2
13 HYNCS0000012 13,13,2
14 HYNCS0000001 13,13,2
可以看出这样查询的结果是正确的。