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 stringaVARCHAR, un'espressioneVARBYTEo un'espressione che restituisce implicitamente un tipoCHAR,VARCHARoVARBYTE.
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à12per quella stringa e la funzione LEN restituirà3per 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 | +--------------+