Die Funktion JSON_SIZE - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

Die Funktion JSON_SIZE

Die Funktion JSON_SIZE gibt die Anzahl der Bytes in dem gegebenen SUPER-Ausdruck zurück, wenn in eine Zeichenfolge serialisiert.

Syntax

JSON_SIZE(super_expression)

Argumente

super_expression

Eine SUPER-Konstante oder ein Ausdruck.

Rückgabetyp

INTEGER

Die Funktion JSON_SIZE gibt eine INTEGER zurück, die die Anzahl der Bytes in der Eingabezeichenfolge anzeigt. Dieser Wert unterscheidet sich von der Anzahl der Zeichen. Zum Beispiel ist das UTF-8-Zeichen ⬤ (ein schwarzer Punkt) 3 Bytes groß, obwohl es nur 1 Zeichen ist.

Nutzungshinweise

JSON_SIZE(x) ist funktionell identisch mit OCTET_LENGTH(JSON_SERIALIZE). Beachten Sie jedoch, dass JSON_SERIALIZE einen Fehler zurückgibt, wenn der angegebene SUPER-Ausdruck bei der Serialisierung die VARCHAR-Grenze des Systems überschreiten würde. Bei JSON_SIZE gibt es diese Einschränkung nicht.

Beispiele

Verwenden Sie das folgende Beispiel, um die Länge eines SUPER-Werts zurückzugeben, der zu einer Zeichenfolge serialisiert wurde.

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

Beachten Sie, dass der angegebene SUPER-Ausdruck 17 Zeichen umfasst. ⬤ ist jedoch ein 3-Byte-Zeichen, sodass JSON_SIZE 19 zurückgibt.