我将json数组存储在mysql字段member\u details中,
[{"religion":null,"caste":["2","3","4"],"sub_caste":["0","1","2"],"family_value":null,"family_status":null}]
现在,我要搜索的成员谁是有种姓3。有时我需要寻找 sub_caste 2
.
我怎样才能做到这一点?
我试过使用json,但结果是空的
select * from member where json_contains('member_details', '{"caste" : "2"}')
但它给出的结果是空的。
2条答案
按热度按时间ngynwnxp1#
有一种方法:
语法
member_details->"$[0].caste
首先访问外部数组中的第一个(也是唯一一个)json元素,使用[0]
. 然后,它访问caste
键,使用.caste
. 最后,JSON_SEARCH
检查值3是否出现在caste数组中。如果你需要寻找
sub_caste
2然后你可以使用类似的逻辑。mf98qq942#
select * from member where JSON_EXTRACT(caste, "2");
你能试试这个查询从数据库获取值吗。参考链接我希望这对你有帮助。