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 模糊查询