Funzione OCTET_LENGTH - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Funzione OCTET_LENGTH

Restituisce la lunghezza della stringa specificata come numero di byte.

Sintassi

OCTET_LENGTH(expression)

Argomento

espressione

Una stringa CHAR, una stringa VARCHAR, un'espressione VARBYTE o un'espressione che restituisce implicitamente un tipo CHAR, VARCHAR o VARBYTE.

Tipo restituito

INTEGER

La funzione OCTET_LENGTH restituisce un integer che indica il numero di byte nella stringa di input.

Se la stringa di input è una stringa di caratteri, la funzione LEN restituisce il numero effettivo di caratteri nelle stringhe multi-byte, non il numero di byte. Ad esempio, è necessaria una colonna VARCHAR(12) per archiviare tre caratteri cinesi a quattro byte. La funzione OCTET_LENGTH restituirà 12 per quella stringa e la funzione LEN restituirà 3 per la stessa stringa.

Note per l'utilizzo

Se expression è una stringa CHAR, la funzione restituisce la lunghezza della stringa CHAR. Ad esempio, l'output di un input CHAR(6) è CHAR(6).

Se expression è una stringa VARCHAR, gli spazi finali vengono contati.

Esempi

Per restituire il numero di byte quando la stringa francais con tre spazi finali viene convertita in un tipo CHAR e VARCHAR, utilizza l'esempio seguente. Per ulteriori informazioni, consulta Funzione CAST.

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

Per restituire il numero di byte e il numero di caratteri nella stringa français, utilizza l'esempio seguente.

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

Per restituire il numero di byte quando la stringa français viene convertita in VARBYTE, utilizza l'esempio seguente.

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