MySQL JSON_CONTAINS 函数使用教程:查找 JSON 数组中特定值

MySQL 提供了 JSON_CONTAINS 函数用于检查 JSON 数组或对象是否包含指定的值。本文将以实际案例说明如何使用 JSON_CONTAINS 函数来查找 JSON 数组中 V=10 的结果。

假设你的表名为 table,字段名为 AttrsAttrs 字段是一个 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_CONTAINSJSON_SEARCH 函数,你可以轻松地查询 JSON 数组中包含特定值的记录。

MySQL JSON_CONTAINS 函数使用教程:查找 JSON 数组中特定值

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

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