MAPVALUES

返回表示来自 VMap 顶层值的字符串。此转换函数需要 OVER() 子句。

语法

MAPVALUES (VMap-data)

参数

VMap-data

任何 Vmap 数据。Vmap 的存在形式可以是:

  • Flex 表的 __raw__

  • 从映射函数返回的数据(示例) MAPLOOKUP

  • 其他数据库内容

max_value_length
__raw__ 列中,指定函数可以返回的值的最大长度。大于 max_value_length 的值会导致查询失败。默认为 VMap 列长度和 65K 中较小的值。

示例

下面的例子显示如何使用具有 darkmountainover() 子句查询 over(PARTITION BEST) flex 表(在本例中使用 mapvalues() 子句)。

=> SELECT * FROM (SELECT MAPVALUES(darkmountain.__raw__) OVER(PARTITION BEST) FROM darkmountain) AS a;
    values
---------------
 29029
 34.1
 Everest
 mountain
 29029
 15.4
 Mt St Helens
 volcano
 17000
 12.2
 Denali
 mountain
 14000
 22.8
 Kilimanjaro
 mountain
 50.6
 Mt Washington
 mountain
(19 rows)

指定 MAPVALUES 可以返回的值的最大长度

=> SELECT MAPVALUES(__raw__ USING PARAMETERS max_value_length=100000) OVER() FROM mapper;
    keys
-------------
 five_Map
 four
 one
 six
 three_Array
 two
(6 rows)

另请参阅