MAP
描述
使用若干组键值对构造一个特定类型的 MAP<K, V>
语法
MAP( <key1> , <value1> [, <key2>, <value2> ... ])
参数
可选参数
<key1>
支持多种类型(参考MAP<K, V>
) 构造 map 的 key<value1>
构造 map 的 value
可变参数
支持多组 key-value 参数
返回值
返回由若干组键值对构造的特定类型 MAP<K, V>
注意事项
- 参数个数必须为偶数个(可以为 0),否则会报错。
- key 参数可以出现重复,但是 Doris 会去掉重复的 key。
- key 可以为 NULL,多个 NULL key 会被去重。
举例
-
普通参数
select map(1, "100", 0.1, 2),map(1, "100", 0.1, 2)[1];
+-----------------------+--------------------------+
| map(1, "100", 0.1, 2) | map(1, "100", 0.1, 2)[1] |
+-----------------------+--------------------------+
| {1.0:"100", 0.1:"2"} | 100 |
+-----------------------+--------------------------+ -
没有参数的情况
select map();
+-------+
| map() |
+-------+
| {} |
+-------+ -
NULL 参数
select map(null, 2, 3, null);
+-----------------------+
| map(null, 2, 3, null) |
+-----------------------+
| {null:2, 3:null} |
+-----------------------+ -
如果有重复的 key,会去重
select map(1, 2, 2, 11, 1, 3, null, "null 1", null, "null 2");
+--------------------------------------------------------+
| map(1, 2, 2, 11, 1, 3, null, "null 1", null, "null 2") |
+--------------------------------------------------------+
| {2:"11", 1:"3", null:"null 2"} |
+--------------------------------------------------------+