MySQL JSON_CONTAINS 函数使用教程:查找 JSON 数组中特定值
MySQL JSON_CONTAINS 函数使用教程:查找 JSON 数组中特定值
MySQL 提供了 JSON_CONTAINS 函数用于检查 JSON 数组或对象是否包含指定的值。本文将以实际案例说明如何使用 JSON_CONTAINS 函数来查找 JSON 数组中 V=10 的结果。
假设你的表名为 table,字段名为 Attrs,Attrs 字段是一个 JSON 数组。
1. 查找包含 V=10 的单个对象:
使用以下 SQL 语句可以查询 Attrs 字段中包含 V=10 的单个对象:
SELECT * FROM table WHERE JSON_CONTAINS(Attrs, '{"V": 10}', '$');
解释:
JSON_CONTAINS函数的第一个参数是Attrs字段,即要查询的 JSON 数组或对象。- 第二个参数是
'{"V": 10}',即要检查的值。 - 第三个参数是
'$',表示检查整个 JSON 数组或对象。
2. 查找包含 V=10 的所有对象:
如果你的 JSON 数组中有多个对象,可以使用以下 SQL 语句来查询所有包含 V=10 的对象:
SELECT * FROM table WHERE JSON_SEARCH(Attrs, 'one', '10', null, '$**.V') IS NOT NULL;
解释:
JSON_SEARCH函数的第一个参数是Attrs字段,即要查询的 JSON 数组或对象。- 第二个参数是
'one',表示查找第一个匹配项。 - 第三个参数是
'10',即要查找的值。 - 第四个参数是
null,表示从 JSON 文档的开头开始查找。 - 第五个参数是
'$**.V',表示查找所有V属性的值。
如果 JSON_SEARCH 函数返回不为 NULL,则表示找到了符合条件的对象。
总结:
本文介绍了 JSON_CONTAINS 函数的使用方法,并提供了两个使用场景的示例代码。通过 JSON_CONTAINS 和 JSON_SEARCH 函数,你可以轻松地查询 JSON 数组中包含特定值的记录。
原文地址: https://www.cveoy.top/t/topic/gLMv 著作权归作者所有。请勿转载和采集!