Fonction JSON_SIZE - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d'informations, consultez le billet de blog.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fonction JSON_SIZE

La fonction JSON_SIZE renvoie le nombre d’octets présents dans l’expression SUPER donnée lorsqu’elle est sérialisée en chaîne.

Syntaxe

JSON_SIZE(super_expression)

Arguments

super_expression

Constante ou expression SUPER.

Type de retour

INTEGER

La fonction JSON_SIZE renvoie un INTEGER indiquant le nombre d’octets présents dans la chaîne en entrée. Cette valeur est différente du nombre de caractères. Par exemple, le caractère UTF-8 ⬤, un point noir, a une taille de 3 octets bien qu’il s’agisse d’un seul caractère.

Notes d’utilisation

JSON_SIZE(x) est fonctionnellement identique à OCTET_LENGTH(JSON_SERIALIZE). Notez toutefois que JSON_SERIALIZE renvoie une erreur quand l’expression SUPER fournie dépasse la limite VARCHAR du système lorsqu’elle est sérialisée. JSON_SIZE ne présente pas cette limitation.

Exemples

Pour renvoyer la longueur d’une valeur SUPER sérialisée en chaîne, utilisez l’exemple suivant.

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

Notez que l’expression SUPER fournie comporte 17 caractères, mais que ⬤ est un caractère de 3 octets, si bien que JSON_SIZE renvoie 19.