mysql 逗号分隔字段作为条件查询

1、数据表

table1: id, name, country_codes ...
country_codes字段值:AD,AE,AF,AG,AI,AL,AM,AO,AR,AT,AU,AZ,CN ...

2、查询

  • 要求:查询国家编码包含'CN'的记录

2.1、FIND_IN_SET()

  • FIND_IN_SET()函数返回指定字符串在以逗号分隔的字符串列表中的位置。
select * from table1 where FIND_IN_SET('CN',country_codes) > 0;

2.2、CONCAT() ... LIKE

  • CONCAT()函数需要一个或多个字符串参数,并将它们连接成一个字符串。
select * from oms_finance_cost_setting where CONCAT(',',country_codes,',') LIKE '%,CN,%';
#将 country_codes 字段左右两边拼接上“,”,再进行 LIKE 模糊查询
posted @ 2022-07-14 09:57  pine007  阅读(1029)  评论(0编辑  收藏  举报