跳到主要内容

MAP (Map) 函数

本节提供了 Databend 中 MAP 函数的参考信息。MAP 函数允许您创建、操作和提取 MAP 数据结构(键值对)中的信息。

MAP 创建与合并​

函数描述示例
MAP_CAT将多个 MAP 合并为一个 MAPMAP_CAT({'a':1}, {'b':2}) → {'a':1,'b':2}

MAP 访问与信息​

函数描述示例
MAP_KEYS以数组形式返回 MAP 中的所有键MAP_KEYS({'a':1,'b':2}) → ['a','b']
MAP_VALUES以数组形式返回 MAP 中的所有值MAP_VALUES({'a':1,'b':2}) → [1,2]
MAP_SIZE返回 MAP 中键值对的数量MAP_SIZE({'a':1,'b':2,'c':3}) → 3
MAP_CONTAINS_KEY检查 MAP 是否包含指定的键MAP_CONTAINS_KEY({'a':1,'b':2}, 'a') → TRUE

MAP 修改​

函数描述示例
MAP_INSERT向 MAP 中插入一个键值对MAP_INSERT({'a':1,'b':2}, 'c', 3) → {'a':1,'b':2,'c':3}
MAP_DELETE从 MAP 中移除一个键值对MAP_DELETE({'a':1,'b':2,'c':3}, 'b') → {'a':1,'c':3}

MAP 转换​

函数描述示例
MAP_TRANSFORM_KEYS对 MAP 中的每个键应用一个函数MAP_TRANSFORM_KEYS({'a':1,'b':2}, x -> UPPER(x)) → {'A':1,'B':2}
MAP_TRANSFORM_VALUES对 MAP 中的每个值应用一个函数MAP_TRANSFORM_VALUES({'a':1,'b':2}, x -> x * 10) → {'a':10,'b':20}

MAP 筛选与选择​

函数描述示例
MAP_FILTER根据谓词筛选键值对MAP_FILTER({'a':1,'b':2,'c':3}, (k,v) -> v > 1) → {'b':2,'c':3}
MAP_PICK使用指定的键创建一个新的 MAPMAP_PICK({'a':1,'b':2,'c':3}, ['a','c']) → {'a':1,'c':3}
欢迎体验 Databend Cloud

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

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

注册即领 ¥200 代金券。

注册体验