MariaDB JSON_OBJECT_FILTER_KEYS() 函数的基础用法与实例

MariaDB JSON_OBJECT_FILTER_KEYS() 函数为我们提供了一个便捷的方法来过滤 JSON 对象中的键值对,根据指定的键集合来返回新的 JSON 对象。

发布于

在日常的数据库操作中,处理 JSON 数据是一个常见的需求。JSON_OBJECT_FILTER_KEYS() 函数为我们提供了一个便捷的方法来过滤 JSON 对象中的键值对,根据指定的键集合来返回新的 JSON 对象。本文将详细介绍这一函数的用法及实例。

语法

JSON_OBJECT_FILTER_KEYS() 函数的语法如下:

JSON_OBJECT_FILTER_KEYS(json_doc, key_array)

这里,json_doc 是一个 JSON 对象,而 key_array 是一个包含键名的 JSON 数组,函数将会从 json_doc 中过滤出这些键名对应的键值对。

实例

基本用法

考虑一个包含员工信息的 JSON 对象,我们想要过滤出特定的键。

SELECT JSON_OBJECT_FILTER_KEYS('{"name":"John", "age":30, "department":"Sales"}', '["name", "department"]');

执行后,我们将得到:

{"name":"John", "department":"Sales"}

过滤不存在的键

如果过滤的键在 JSON 对象中不存在,那么这些键将被忽略。

SELECT JSON_OBJECT_FILTER_KEYS('{"name":"Jane", "age":25}', '["name", "salary"]');

执行结果将是:

{"name": "Jane"}

空键数组

当键数组为空时,将返回 NULL。

SELECT JSON_OBJECT_FILTER_KEYS('{"name":"Doe", "age":28}', '[]');

执行结果如下:

NULL

相关函数

  • JSON_KEYS(): 返回 JSON 对象中所有键的 JSON 数组。
  • JSON_EXTRACT(): 用于提取 JSON 文档中的数据。
  • JSON_SEARCH(): 在 JSON 文档中查找给定字符串,并返回路径。

结论

JSON_OBJECT_FILTER_KEYS() 函数是一个非常实用的工具,可以帮助我们在处理 JSON 数据时进行有效的键值对过滤。通过上述的介绍和实例,您应该能够掌握这一函数的基本用法,并在实际工作中灵活运用。