Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
Retourne le nombre de caractères de l’expression de type chaîne spécifiée, à l’exception des espaces de fin.
Notes
Pour retourner le nombre d’octets utilisés pour représenter une expression, utilisez la fonction DATALENGTH.
Conventions de la syntaxe Transact-SQL
Syntaxe
LEN ( string_expression )
Les arguments
string_expression
Expression de chaîne à évaluer. string_expression peut être une constante, une variable ou une colonne de données binaires ou caractères.
Types de retour
bigint si l’expression est des types de données varchar(max), nvarchar(max)ou varbinary(max) ; sinon, int.
Si vous utilisez des classements SC, la valeur entière retournée compte des paires de substitution UTF-16 sous forme de caractère unique. Pour plus d'informations, consultez Classement et prise en charge Unicode.
Notes
LEN exclut les espaces de fin. Si c’est un problème, envisagez d’utiliser la fonction DATALENGTH , qui ne supprime pas la chaîne. Si vous traitez une chaîne Unicode, DATALENGTH retourne un nombre qui peut ne pas être égal au nombre de caractères. L’exemple suivant illustre LEN et DATALENGTH avec un espace de fin.
DECLARE @v1 AS VARCHAR (40), @v2 AS NVARCHAR (40);
SELECT @v1 = 'Test of 22 characters ',
@v2 = 'Test of 22 characters ';
SELECT LEN(@v1) AS [VARCHAR LEN],
DATALENGTH(@v1) AS [VARCHAR DATALENGTH];
SELECT LEN(@v2) AS [NVARCHAR LEN],
DATALENGTH(@v2) AS [NVARCHAR DATALENGTH];
Notes
Permet LEN de retourner le nombre de caractères encodés dans une expression de chaîne donnée et DATALENGTH pour retourner la taille en octets d’une expression de chaîne donnée. Ces sorties peuvent différer selon le type de données et le type d’encodage utilisé dans la colonne. Pour plus d’informations sur les différences de stockage entre différents types d’encodage, consultez Prise en charge du classement et unicode.
Exemples
L'exemple suivant sélectionne le nombre de caractères et les données figurant dans FirstName pour les personnes résidant en Australia. Cet exemple utilise la base de données AdventureWorks.
SELECT LEN(FirstName) AS Length,
FirstName,
LastName
FROM Sales.vIndividualCustomer
WHERE CountryRegionName = 'Australia';
GO
Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)
L’exemple suivant retourne le nombre de caractères dans la colonne FirstName et le prénom (FirstName) et le nom de famille (LastName) des employés situés dans Australia.
USE AdventureWorks2022;
GO
SELECT DISTINCT LEN(FirstName) AS FNameLength,
FirstName,
LastName
FROM dbo.DimEmployee AS e
INNER JOIN dbo.DimGeography AS g
ON e.SalesTerritoryKey = g.SalesTerritoryKey
WHERE EnglishCountryRegionName = 'Australia';
Voici le jeu de résultats.
FNameLength FirstName LastName
----------- --------- ---------------
4 Lynn Tsoflias