Fonction OCTET_LENGTH - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d'informations, consultez le billet de blog.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fonction OCTET_LENGTH

Renvoie la longueur de la chaîne spécifiée en tant que nombre d’octets.

Syntaxe

OCTET_LENGTH(expression)

Argument

expression

Chaîne CHAR, chaîne VARCHAR, expression VARBYTE ou expression qui équivaut implicitement à un type CHAR, VARCHAR ou VARBYTE.

Type de retour

INTEGER

La fonction OCTET_LENGTH renvoie un nombre entier indiquant le nombre d’octets dans la chaîne d’entrée.

Si la chaîne d’entrée est une chaîne de caractères, la fonction LEN renvoie le nombre de caractères dans des chaînes de plusieurs octets, pas le nombre d’octets. Par exemple, une colonne VARCHAR(12) est nécessaire pour stocker trois caractères chinois de quatre octets. La fonction OCTET_LENGTH renvoie 12 pour cette chaîne et la fonction LEN renvoie 3 pour cette même chaîne.

Notes d’utilisation

Si expression est une chaîne CHAR, la fonction renvoie la longueur de la chaîne CHAR. Par exemple, la sortie d’une entrée CHAR(6) est un CHAR(6).

Si expression est une chaîne VARCHAR, les espaces de fin sont comptés.

Exemples

Pour renvoyer le nombre d’octets lorsque la chaîne francais avec trois espaces de fin est convertie en type CHAR et VARCHAR, utilisez l’exemple suivant. Pour de plus amples informations, veuillez consulter Fonction 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 | +-------------------+----------------------+

Pour renvoyer le nombre d’octets et le nombre de caractères dans la chaîne français, utilisez l’exemple suivant.

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

Pour renvoyer le nombre d’octets lorsque la chaîne français est convertie en VARBYTE, utilisez l’exemple suivant.

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