Die OCTET_LENGTH-Funktion - 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 OCTET_LENGTH-Funktion

Gibt die Länge der angegebenen Zeichenfolge durch die Anzahl der Bytes an.

Syntax

OCTET_LENGTH(expression)

Argument

expression

Eine CHAR-Zeichenfolge, eine VARCHAR-Zeichenfolge, ein VARBYTE-Ausdruck oder ein Ausdruck, die bzw. der implizit als ein CHAR-, VARCHAR- oder VARBYTE-Typ ausgewertet wird.

Rückgabetyp

INTEGER

Die Funktion „OCTET_LENGTH“ gibt eine Ganzzahl zurück, die die Anzahl der Bytes in der Eingabezeichenfolge anzeigt.

Wenn es sich um eine Folge von Zeichen handelt, gibt die LEN-Funktion die tatsächliche Anzahl der Zeichen in Multibyte-Zeichenfolgen zurück, nicht die Anzahl der Bytes. Beispielsweise ist eine VARCHAR(12)-Spalte erforderlich, um drei chinesische Zeichen mit vier Bytes zu speichern. Die Funktion OCTET_LENGTH gibt für diese Zeichenfolge 12 zurück und die LEN-Funktion gibt für dieselbe Zeichenfolge 3 zurück.

Nutzungshinweise

Wenn Ausdruck eine CHAR-Zeichenfolge ist, gibt die Funktion die Länge der CHAR-Zeichenfolge zurück. Zum Beispiel ist die Ausgabe einer CHAR(6)-Eingabe ein CHAR(6).

Wenn Ausdruck eine VARCHAR-Zeichenfolge ist, werden nachfolgende Leerzeichen gezählt.

Beispiele

Verwenden Sie das folgende Beispiel, um die Anzahl der Byte zurückzugeben, wenn die Zeichenfolge francais mit drei abschließenden Leerzeichen in ein CHAR und einen VARCHAR-Typ umgewandelt wird. Weitere Informationen finden Sie unter CAST-Funktion.

SELECT OCTET_LENGTH(CAST('francais ' AS CHAR(15))) AS octet_length_char, OCTET_LENGTH(CAST('francais ' AS VARCHAR(15))) AS octet_length_varchar; +-------------------+----------------------+ | octet_length_char | octet_length_varchar | +-------------------+----------------------+ | 15 | 11 | +-------------------+----------------------+

Verwenden Sie das folgende Beispiel, um die Anzahl der Bytes und die Anzahl der Zeichen der Zeichenfolge français zurückzugeben.

SELECT OCTET_LENGTH('français'), LEN('français'); +--------------+-----+ | octet_length | len | +--------------+-----+ | 9 | 8 | +--------------+-----+

Verwenden Sie das folgende Beispiel, um die Anzahl der Byte zurückzugeben, wenn die Zeichenfolge français in ein VARBYTE umgewandelt wird.

SELECT OCTET_LENGTH(CAST('français' AS VARBYTE)); +--------------+ | octet_length | +--------------+ | 9 | +--------------+