Devuelve un arreglo cuyos elementos se normalizan con base en la norma p especificada.
Sintaxis
ARRAY_NORMALIZE(array, p)
Esta función equivale a TRANSFORM(array, v -> v / REDUCE(array, 0, (a, v) -> a + POW(ABS(v), p), a -> POW(a, 1 / p)). Sin embargo, la función REDUCE se invoca una sola vez.
Parámetros
array: el arreglo de entrada. Los elementos del arreglo solo pueden ser de tipo FLOAT o DOUBLE.
p: la norma p del arreglo.
Valor devuelto
Se devuelve un arreglo cuyos elementos se normalizan con base en la norma p especificada.
Si el arreglo es null o contiene elementos null, se devuelve null.
Si se cumple la condición
p=0, se devuelve el arreglo original. Si se cumple la condiciónp<0, se devuelve un error.
Ejemplos
SELECT ARRAY_NORMALIZE(ARRAY(10.0, 20.0, 50.0), 1.0);
-- RESULTS
+----------------------+
| _c0 |
+----------------------+
| [0.125, 0.25, 0.625] |
+----------------------+
Funciones relacionadas
ARRAY_NORMALIZE es una función de tipo complejo. Para obtener más información sobre las funciones que procesan datos de tipos complejos, como ARRAY, MAP, STRUCT y JSON, consulte Complex type functions.