mysql 对json字段查询

数据

id|line               |
--+-------------------+
 1|["45146", "798789"]|
 2|["4546", "798789"] |
  1. 对查询数组中每个元素做模糊匹配,存在一个符合条件则返回, 该语句在mysql5.7 和8.0 都有效
SELECT * FROM `table` where  JSON_EXTRACT(`line`, '$[*]') LIKE '%1%';
id|line               |
--+-------------------+
 1|["45146", "798789"]|
  1. 对查询数组中每个元素做精确匹配,存在一个符合条件则返回,用 '""' , 外层单引号,里层字符用双引号,该语句在mysql5.7 和8.0 都有效
SELECT * FROM `table` where JSON_CONTAINS(`line`, '"4546"' ,'$');
id|line              |
--+------------------+
 2|["4546", "798789"]|
posted @ 2025-04-18 11:26  熊先生不开玩笑  阅读(67)  评论(0)    收藏  举报