You need to enable JavaScript to run this app.
导航

Map 函数

最近更新时间2022.09.14 16:29:05

首次发布时间2022.09.14 16:29:05

map

将 key:value 对排列成 Map(key, value)数据类型

语法:

map(key1, value1[, key2, value2, ...])

参数说明

  • key - 键值对中键的部分,可以支持 String, Int, LowCardinality, FixedString, UUID, Date, DateTime, Enum 等类型

  • value - 键值对中的参数值部分,可以支持任意类型,包括 Map 和 Array 的复合类型。

返回值

  • 返回 key:value 形式的数据结构

举例

SELECT map(127, 1, 0, 1, -1, 1); 

查询结果

map(127, 1, 0, 1, -1, 1)	
{"0":1,"127":1,"-1":1}

mapElement

返回某个 Key 的 Value 值

语法:

mapElement([map column], [map key])

参数说明

  • map column: 类型为 Map 的列名
  • map key: 对应 Map 列中的 key 信息

返回值

  • 返回对应 key 的 value 信息

举例

CREATE TABLE db.maptable (`b` UInt64, `a` Map(String, String)) 
ENGINE=CnchMergeTree() 
ORDER BY `b`;

INSERT INTO db.maptable VALUES (6, {'key1':3, 'key2':10});

SELECT mapElement(a, 'key1') FROM db.maptable;

查询结果

mapElement(a, 'key1')	
3

mapKeys

数组形式返回 Map 中包含的所有 key

语法:

mapKeys([map column])

参数说明

  • map column: 类型为 Map 的列名

返回值

  • 用数组形式返回所有 key

举例

SELECT mapKeys(a) FROM db.maptable;

查询结果

mapKeys(a)	
["key1","key2"]