跳到主要内容

映射构造函数

映射构造函数/运算符用于构建新的映射数据类型。seekdb 当前所支持的映射构造函数包括 map(),操作符包括 {}

map

map() 函数用于构建一个映射数据。语法如下:

map(key1, value1, key2, value2, ..., keyN, valueN)

输入参数说明如下:

  • 输入的参数个数需为偶数,序数为奇数的参数构成 Key 数组 ,序数为偶数的参数构成 Value 数组。
  • key1keyN 和 value1valueN 的数据元素类型请参见映射数据类型概述
  • 注意,输入的键值对中 Key 不可重复,如有重复的 Key,则以后输入的 Value 为准,前面的 Value 会被覆盖。

返回值为映射数据类型(MAP)。

示例如下:

-- 构建出的映射数据只有一个键值对,key 为 1,value 为 2
SELECT map(1,2);
+----------+
| map(1,2) |
+----------+
| {1:2} |
+----------+
1 row in set (0.001 sec)
-- 构建出的映射数据有 3 个键值对
SELECT map(1,"a",2,"b",3,"c");
+------------------------+
| map(1,"a",2,"b",3,"c") |
+------------------------+
| {1:"a",2:"b",3:"c"} |
+------------------------+
1 row in set (0.001 sec)
-- Key 数组的数据类型由奇数序数的参数决定,Value 数组的数据类型由偶数序数的参数决定
SELECT map(1,"a","b",1.8,"ccc",3);
+-------------------------------+
| map(1,"a","b",1.8,"ccc",3) |
+-------------------------------+
| {"1":"a","b":"1.8","ccc":"3"} |
+-------------------------------+