使用MySQL对象查询JSON列

问题描述 投票:3回答:1

我的专栏中有以下json数组:

[  
   {  
      "day": 1,
      "requests": 23
   },
   {  
      "day": 2,
      "requests": 5
   },
   {  
      "day": 2,
      "requests": 9
   }
]

我想要有一天1的行。我已经尝试过这样做了

SELECT * FROM api WHERE usages->'$[*].day' = JSON_ARRAY(1)

但它没有返回任何结果。

mysql json
1个回答
3
投票

select usages->'$[*].day' from api表明它是JSON数组[1,2,2]

where usages->'$[*].day' = JSON_ARRAY(1)试图将[1,2,2][1]相匹敌,但事实并非如此。

相反,使用JSON_CONTAINS查找数组中的值。

where json_contains(usages->'$[*].day', "1");

© www.soinside.com 2019 - 2024. All rights reserved.