Amazon Redshift non supporterà più la creazione di nuovi Python a UDFs partire dal 1° novembre 2025. Se vuoi usare Python UDFs, crea la UDFs data precedente a quella data. Python esistente UDFs continuerà a funzionare normalmente. 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 | +--------------+