跳到主要内容

MAP_FILTER

引入或更新版本:v1.2.762

根据指定条件过滤 JSON 对象中的键值对,条件使用 Lambda 表达式定义。

语法

MAP_FILTER(<json_object>, (<key>, <value>) -> <condition>)

返回类型

返回一个仅包含满足指定条件的键值对的 JSON 对象。

示例

此示例从 JSON 对象中仅提取 "status": "active" 键值对,过滤掉其他字段:

SELECT MAP_FILTER('{"status":"active", "user":"admin", "time":"2024-11-01"}'::VARIANT, (k, v) -> k = 'status') AS filtered_metadata;

┌─────────────────────┐
│ filtered_metadata │
├─────────────────────┤
│ {"status":"active"} │
└─────────────────────┘
欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验