Funzione OCTET_LENGTH - Amazon Redshift

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