posexplode_outer
表值函数发生器
适用于:砖的SQL砖运行时
返回行通过un-nesting数组编号的位置使用外
语义。
返回
一组行组成的位置和数组的元素或地图的键和值。产生的列posexplode_outer
的命名数组pos
和上校
。列的映射称为pos
,关键
和价值
。
如果expr
是零
,一个数组或映射为null的行值。
适用于:砖12.1和更早的运行时:
posexplode_outer
只能放在选择
列表作为根一个表达式或后侧面图。当把函数选择
必须没有其他生成器函数的列表是一样的选择
列表或UNSUPPORTED_GENERATOR.MULTI_GENERATOR是提高。适用于:砖的SQL砖运行时12.2及以后:
调用的侧面图条款或者是
选择
列表是弃用。相反,调用posexplode_outer
作为一个table_reference。
例子
适用于:砖12.1和更早的运行时:
>选择posexplode_outer(数组(10,20.))作为初步的,“火花”;010火花120.火花>选择posexplode_outer(地图(1,“一个”,2,“b”))作为(全国矿工工会,瓦尔),“火花”;01一个火花12b火花>选择posexplode_outer(数组(1,2)),posexplode_outer(数组(3,4));错误:UNSUPPORTED_GENERATOR。MULTI_GENERATOR
适用于:砖的SQL砖运行时12.2及以后:
>选择pos,上校从posexplode_outer(数组(10,20.));010120.>选择pos,关键,价值从posexplode_outer(地图(10,“一个”,20.,“b”));010一个122b>选择p1。*,p2。*从posexplode_outer(数组(1,2))作为p1,posexplode_outer(数组(3,4))作为p2;0103011412031214——使用横向相关性在砖12.2及以上>选择p1。*,p2。*从posexplode_outer(数组(1,2))作为p1,横向posexplode_outer(数组(3*p1。上校,4*p1。上校))作为p2;0103011412061218