将 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}
返回某个 Key 的 Value 值
语法:
mapElement([map column], [map key])
参数说明
返回值
举例
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
数组形式返回 Map 中包含的所有 key
语法:
mapKeys([map column])
参数说明
返回值
举例
SELECT mapKeys(a) FROM db.maptable;
查询结果
mapKeys(a) ["key1","key2"]