可以使用MySQL的JSON_CONTAINS函数来完成这个需求。JSON_CONTAINS函数用于检查JSON数组或对象是否包含指定的值。

假设你的表名为table,字段名为Attrs,可以使用以下SQL语句来查询Attrs字段中V=10的结果:

SELECT * FROM table WHERE JSON_CONTAINS(Attrs, '{"V": 10}', '$');

这个SQL语句中,JSON_CONTAINS函数的第一个参数是要查询的JSON数组或对象,第二个参数是要检查的值,第三个参数是要检查的路径。在这个例子中,'$'表示检查整个JSON数组或对象。

如果你的JSON数组中有多个对象,可以使用以下SQL语句来查询所有包含V=10的对象:

SELECT * FROM table WHERE JSON_SEARCH(Attrs, 'one', '10', null, '$**.V') IS NOT NULL;

这个SQL语句中,JSON_SEARCH函数的第一个参数是要查询的JSON数组或对象,第二个参数是要查找的模式,第三个参数是要查找的值,第四个参数是要查找的起始位置,第五个参数是要查找的路径。在这个例子中,'$**.V'表示查找所有V属性的值。如果JSON_SEARCH函数返回不为NULL,则表示找到了符合条件的对象

MySql JSON_CONTAINS 怎么用例如我有要给Attrs字段是个JSON数组需要查出其V=10的结果

原文地址: https://www.cveoy.top/t/topic/ew39 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录