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及以後:
>選擇初步的,“火花”從posexplode_outer(數組(10,20.))作為t(初步的);010火花120.火花>選擇全國礦工工會,瓦爾,“火花”從posexplode_outer(地圖(1,“一個”,2,“b”))作為t(全國礦工工會,瓦爾);01一個火花02b火花>選擇*從posexplode_outer(數組(1,2)),posexplode_outer(數組(3,4));0103010412131214——使用橫向相關性在磚12.2及以上>選擇*從posexplode_outer(數組(1,2))作為t,橫向posexplode(數組(3*t。上校,4*t。上校));0103011412061218