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.
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îneVARCHAR
, expressionVARBYTE
ou expression qui équivaut implicitement à un typeCHAR
,VARCHAR
ouVARBYTE
.
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 renvoie3
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 de plus amples informations, veuillez consulter 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 de plus amples informations, veuillez consulter 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 |
+-----------------------------------------+-----+