Función JSON_ARRAY_LENGTH - Amazon Redshift

Función JSON_ARRAY_LENGTH

nota

JSON_PARSE y sus funciones asociadas analizan los valores JSON como SUPER, que Amazon Redshift analiza de forma más eficiente que VARCHAR.

En lugar de usar JSON_ARRAY_LENGTH, le recomendamos que analice las cadenas JSON con Función JSON_PARSE para obtener un valor SUPER. A continuación, use Función get_array_length para obtener la longitud de la matriz.

La función JSON_ARRAY_LENGTH devuelve la cantidad de elementos en la matriz exterior de una cadena JSON. Si el argumento null_if_invalid está establecido en true y la cadena JSON no es válida, la función devuelve NULL en lugar de un error.

Para obtener más información, consulte Funciones JSON.

Sintaxis

JSON_ARRAY_LENGTH('json_array' [, null_if_invalid ] )

Argumentos

json_array

Una matriz JSON con formato adecuado.

null_if_invalid

(Opcional) Un valor BOOLEAN que especifica que se devuelva NULL si la cadena JSON de entrada no es válida en lugar de devolver un error. Para devolver NULL si la cadena JSON no es válida, especifique true (t). Para devolver un error si la cadena JSON no es válida, especifique false (f). El valor predeterminado es false.

Tipo de retorno

INTEGER

Ejemplos

Para devolver la cantidad de elementos en la matriz, use el siguiente ejemplo.

SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14]'); +-------------------+ | json_array_length | +-------------------+ | 5 | +-------------------+

Para devolver un error porque la cadena JSON no es válida, use el siguiente ejemplo.

SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14'); ERROR: invalid json array object [11,12,13,{"f1":21,"f2":[25,26]},14

Para establecer null_if_invalid en true, para que la instrucción devuelva NULL en lugar de devolver un error para indicar que la cadena JSON no es válida, use el siguiente ejemplo.

SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14',true); +-------------------+ | json_array_length | +-------------------+ | NULL | +-------------------+