LEN (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL analytics endpoint in Microsoft Fabric Warehouse in 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 )
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 expression est du type varchar(max) , nvarchar(max) ou varbinary(max) ; sinon, int.
Si vous utilisez des classements SC, la valeur entière retournée compte les paires de substitution UTF-16 comme un caractère unique. Pour plus d’informations, consultez Prise en charge d’Unicode et du classement.
Notes
LEN exclut les espaces de fin. Si ceci pose problème, utilisez la fonction DATALENGTH (Transact-SQL) qui ne les supprime pas. En cas de traitement d’une chaîne unicode, DATALENGTH retourne un nombre qui peut être différent du nombre de caractères. L’exemple suivant illustre les fonctions LEN et DATALENGTH avec un espace à droite.
DECLARE @v1 VARCHAR(40),
@v2 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
Utilisez LEN pour 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 les différents types d’encodage, consultez Prise en charge d’Unicode et du classement.
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 les prénoms et noms 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
Voir aussi
DATALENGTH (Transact-SQL)
CHARINDEX (Transact-SQL)
PATINDEX (Transact-SQL)
LEFT (Transact-SQL)
RIGHT (Transact-SQL)
Types de données (Transact-SQL)
Fonctions de chaîne (Transact-SQL)