Mysql中对带分号拼接的字段进行查询方法总结

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

可以看出这样查询的结果是正确的。


版权声明:本文为csdnlaiyanqi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。