返回根據指定p範數(p Norm)對數組元素正常化後的數組。
命令格式
array_normalize(array, p)此函數等價於TRANSFORM(array, v -> v / REDUCE(array, 0, (a, v) -> a + POW(ABS(v), p), a -> POW(a, 1 / p)),但是REDUCE部分只執行一次。
參數說明
array:輸入數組,數組元素只支援Float和Double類型。
p: 數組的p Norm。
傳回值說明
返回正常化之後的數組。
如果數組為null或者有null數組元素,則返回NULL。
如果
p=0則返回原數組;p<0則拋出異常。
樣本
SELECT array_normalize(array(10.0, 20.0, 50.0), 1.0);返回結果如下:
[0.125, 0.25, 0.625]相關函數
ARRAY_NORMALIZE函數屬於複雜類型函數,更多對複雜類型資料(例如ARRAY、MAP、STRUCT、JSON資料)的處理函數請參見複雜類型函數。