由于一些需求,mysql中可能存在上下级的数值字段,例如:
其中1为一级,104为二级,但是在条件搜索的时候这种数据往往不好搜索
简单的模糊搜索就是下面这种
SELECT * FROM hhit_poc poc
WHERE 1 = 1 AND poc.device_chs LIKE concat('[1,', '%') order by create_time desc
LIMIT 15;
但是这种方法很不美观和不实用,这里记录一种新的方法,是针对mysql5.7版本以上的,mysql能对json字段进行一定的搜索,例如,同样的搜索条件
SELECT * FROM hhit_poc poc
WHERE 1 = 1 and JSON_EXTRACT(poc.device_chs,'$[0]') = 1 order by create_time desc
LIMIT 15;
这样更加美观和准确。