Fonction OCTET_LENGTH - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog .

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 plus d’informations, consultez 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 | +--------------+