我有一个像这样的 JSON:{"a": {"z":true,"y":false}, "b": {"z":false,"y":false} }
。我需要在 MariaDB 中获取此 JSON 中是否有任何包含值“true”的(子)属性。
我在 SQL 中尝试了以下查询:
SET @json='{"a": {"z":true,"y":false}, "b": {"z":false,"y":false} }';
SELECT JSON_CONTAINS(@json,'true'),
JSON_CONTAINS(@json,'true','$.a'),
JSON_CONTAINS(@json,'true','$.a.z');
但前两个响应为 0(零),只有最后一个响应为 1。这意味着我可以分别检查 $.az 和 $.ay,并通过案例获取其中任何一个是否为真。我希望还有其他方法可以实现这一目标吗?