Die OCTET_LENGTH-Funktion - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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 hierzu 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 | +--------------+