Fonction LEN - Amazon Redshift

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 LEN

Renvoie la longueur de la chaîne spécifiée en tant que nombre de caractères.

Syntaxe

LEN est synonyme de Fonction LENGTH, Fonction CHAR_LENGTH, Fonction CHARACTER_LENGTH, et Fonction TEXTLEN.

LEN(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 LEN renvoie un nombre entier indiquant le nombre de caractères 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 les 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 LEN renvoie 3 pour cette même chaîne. Pour obtenir la longueur d’une chaîne en octets, utilisez la fonction OCTET_LENGTH.

Notes d’utilisation

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

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

Exemples

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 et le nombre de caractères dans la chaîne français sans utiliser la fonction OCTET_LENGTH, utilisez l’exemple suivant. Pour plus d’informations, consultez le Fonction CAST.

SELECT LEN(CAST('français' AS VARBYTE)) as bytes, LEN('français'); +-------+-----+ | bytes | len | +-------+-----+ | 9 | 8 | +-------+-----+

Pour renvoyer le nombre de caractères dans les chaînes cat sans les espaces de fin, cat avec trois espaces de fin, cat avec trois espaces de fin convertis en CHAR de longueur 6, et cat avec trois espaces de fin convertis en VARCHAR de longueur 6, utilisez l’exemple suivant. Notez que la fonction ne compte pas les espaces de fin des chaînes CHAR, mais qu’elle compte les espaces de fin des chaînes VARCHAR.

SELECT LEN('cat'), LEN('cat '), LEN(CAST('cat ' AS CHAR(6))) AS len_char, LEN(CAST('cat ' AS VARCHAR(6))) AS len_varchar; +-----+-----+----------+-------------+ | len | len | len_char | len_varchar | +-----+-----+----------+-------------+ | 3 | 6 | 3 | 6 | +-----+-----+----------+-------------+

L’exemple suivant utilise les données de la table VENUE de l’exemple de base de données TICKIT. Pour plus d’informations, consultez Exemple de base de données.

Pour renvoyer les 10 noms de lieux les plus longs de la table VENUE, utilisez l’exemple suivant.

SELECT venuename, LEN(venuename) FROM venue ORDER BY 2 DESC, 1 LIMIT 10; +-----------------------------------------+-----+ | venuename | len | +-----------------------------------------+-----+ | Saratoga Springs Performing Arts Center | 39 | | Lincoln Center for the Performing Arts | 38 | | Nassau Veterans Memorial Coliseum | 33 | | Jacksonville Municipal Stadium | 30 | | Rangers BallPark in Arlington | 29 | | University of Phoenix Stadium | 29 | | Circle in the Square Theatre | 28 | | Hubert H. Humphrey Metrodome | 28 | | Oriole Park at Camden Yards | 27 | | Dick's Sporting Goods Park | 26 | +-----------------------------------------+-----+