Función JSON_SIZE - Amazon Redshift

Función JSON_SIZE

La función JSON_SIZE devuelve el número de bytes de la expresión SUPER dada cuando se serializa en una cadena.

Sintaxis

JSON_SIZE(super_expression)

Argumentos

super_expression

Una constante o expresión SUPER.

Tipo de retorno

INTEGER

La función JSON_SIZE devuelve un valor INTEGER que indica la cantidad de bytes en la cadena de entrada. Este valor es diferente del número de caracteres. Por ejemplo, el carácter UTF-8 ⬤, un punto negro, tiene un tamaño de 3 bytes aunque es 1 carácter.

Notas de uso

JSON_SIZE (x) es funcionalmente idéntico a OCTET_LENGTH (JSON_SERIALIZE). Sin embargo, tenga en cuenta que JSON_SERIALIZE devuelve un error cuando la expresión SUPER proporcionada supera el límite VARCHAR del sistema cuando se serializa. JSON_SIZE no tiene esta limitación.

Ejemplos

Para devolver la longitud de un valor SUPER serializado en una cadena, use el siguiente ejemplo.

SELECT JSON_SIZE(JSON_PARSE('[10001,10002,"⬤"]')); +-----------+ | json_size | +-----------+ | 19 | +-----------+

Tenga en cuenta que la expresión SUPER proporcionada tiene 17 caracteres, pero ⬤ es un carácter de 3 bytes, por lo que JSON_SIZE devuelve 19.