首先,我不确定我的标题是否以正确的方式解释了这个问题,但我认为我的代码会。
而不是这样做:
SELECT * FROM mytable WHERE JSON_EXTRACT(`cars`,'$."65"') = 'Toyota' OR JSON_EXTRACT(`cars `,'$."66"') = 'Toyota' OR JSON_EXTRACT(`cars `,'$."67"') = 'Toyota'
我想这样做:
SELECT * FROM mytable WHERE JSON_EXTRACT(`cars`,any of these 65,66,67) = 'Toyota'
这能做到吗?
1条答案
按热度按时间oymdgrw71#
根据文档,您可以将任意数量的路径作为参数2向前传递给
JSON_EXTRACT
功能。因此,以下方法应该有效:演示
请注意
WHERE
子句将实际返回以下形式的字符串值["some_value"]
因此,我与此进行比较。对mysql的jsonapi有更多经验的人可能会比我上面写的做得更好。但是,这至少部分地回答了你的问题;是的,您可以在对的单个调用中提取多个路径JSON_EXTRACT
.