mysql 对json字段查询
数据
id|line |
--+-------------------+
1|["45146", "798789"]|
2|["4546", "798789"] |
- 对查询数组中每个元素做模糊匹配,存在一个符合条件则返回, 该语句在mysql5.7 和8.0 都有效
SELECT * FROM `table` where JSON_EXTRACT(`line`, '$[*]') LIKE '%1%';
id|line |
--+-------------------+
1|["45146", "798789"]|
- 对查询数组中每个元素做精确匹配,存在一个符合条件则返回,用 '""' , 外层单引号,里层字符用双引号,该语句在mysql5.7 和8.0 都有效
SELECT * FROM `table` where JSON_CONTAINS(`line`, '"4546"' ,'$');
id|line |
--+------------------+
2|["4546", "798789"]|

浙公网安备 33010602011771号