posexplode表值函数发生器

适用于:检查标记是的砖的SQL检查标记是的砖运行时

返回一组由un-nesting行expr编号的位置。

语法

posexplode(expr)

参数

  • expr:一个数组地图表达式。

返回

一组行组成的位置和数组的元素或地图的键和值。产生的列posexplode的命名数组pos上校。列的映射称为pos,关键价值

如果expr没有行。

  • 适用于:检查标记是的砖12.1和更早的运行时:

    posexplode只能放在选择列表作为根一个表达式或后侧面图。当把函数选择必须没有其他生成器函数的列表是一样的选择列表或UNSUPPORTED_GENERATOR.MULTI_GENERATOR是提高。

  • 适用于:检查标记是的砖的SQL检查标记是的砖运行时12.2及以后:

    调用的侧面图条款或者是选择列表是弃用。相反,调用posexplode作为一个table_reference

例子

适用于:检查标记是的砖12.1和更早的运行时:

>选择posexplode(数组(10,20.))作为初步的,“火花”;010火花120.火花>选择posexplode(地图(1,“一个”,2,“b”))作为(全国矿工工会,瓦尔),“火花”;01一个火花12b火花>选择posexplode(数组(1,2)),posexplode(数组(3,4));错误:UNSUPPORTED_GENERATORMULTI_GENERATOR

适用于:检查标记是的砖的SQL检查标记是的砖运行时12.2及以后:

>选择pos,上校posexplode(数组(10,20.));010120.>选择pos,关键,价值posexplode(地图(10,“一个”,20.,“b”));010一个122b>选择p1*,p2*posexplode(数组(1,2))作为p1,posexplode(数组(3,4))作为p2;0103011412031214——使用横向相关性在砖12.2及以上>选择p1*,p2*posexplode(数组(1,2))作为p1,横向posexplode(数组(3*p1上校,4*p1上校))作为p2;0103011412061218