Función JSON_SIZE - Amazon Redshift

Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del 1 de noviembre de 2025. Si desea utilizar las UDF de Python, créelas antes de esa fecha. Las UDF de Python existentes seguirán funcionando con normalidad. Para obtener más información, consulte la publicación del blog.

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.