mysql对单字段分隔符查询,进行条件判断

现需求如下,表中有一个字段,是用逗号分隔存储,在查询时,想判断当前字段中,是否存在某个字段匹配

例如:test_data表中,val列,想筛选出包含【1】的数据。

mysql对单字段分隔符查询,进行条件判断_第1张图片

这时普通的like语句无法实现,可以考虑使用mysql的函数【FIND_IN_SET()】

SELECT * FROM test_data WHERE FIND_IN_SET('1',val);

查询结果:

mysql对单字段分隔符查询,进行条件判断_第2张图片

升级篇:

若数据不是逗号分隔,而是以其他特殊符号分割,可以考虑使用mysql的函数【REPLACE()】

例如:test_data表中,val列,想筛选出包含【1】的数据。

mysql对单字段分隔符查询,进行条件判断_第3张图片

SELECT * FROM test_data WHERE FIND_IN_SET('1',REPLACE(val, '^', ','));

mysql对单字段分隔符查询,进行条件判断_第4张图片

你可能感兴趣的:(mysql,mysql)