LEN (Transact-SQL)

 

CETTE RUBRIQUE S’APPLIQUE À : ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabaseouiAzure SQL Data WarehouseouiParallel Data Warehouse

Retourne le nombre de caractères de l'expression de type chaîne spécifiée, à l'exception des espaces de droite.

System_CAPS_ICON_note.jpg Remarque


Pour retourner le nombre d’octets utilisés pour représenter une expression, utilisez la DATALENGTH (fonction).

Topic link icon Conventions de la syntaxe Transact-SQL

-- Syntax for SQL Server, Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse  
  
LEN ( string_expression )  

expression_chaîne
Est la chaîne expression doit être évaluée. string_expression peut être une constante, une variable ou une colonne de données binaire ou caractère.

bigint si expression est la varchar (max), nvarchar (max) ou varbinary (max) des types de données ; 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 Collation and Unicode Support.

LEN exclut les espaces à droite. Si c’est un problème, envisagez d’utiliser le DATALENGTH (Transact-SQL) fonction qui ne les supprime pas. Si le traitement d’une chaîne unicode, DATALENGTH renvoie deux fois le nombre de caractères. L’exemple suivant montre la fonction LEN et DATALENGTH avec un espace de fin.

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];  
  

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 AdventureWorks2012.

SELECT LEN(FirstName) AS Length, FirstName, LastName   
FROM Sales.vIndividualCustomer  
WHERE CountryRegionName = 'Australia';  
GO  

L’exemple suivant retourne le nombre de caractères dans la colonne FirstName et le premier et le nom des employés est situé dans Australia.

-- Uses AdventureWorks  
  
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 l'ensemble des résultats.

FNameLength FirstName LastName

----------- --------- ---------------

4 Lynn Tsoflias

Types de données (Transact-SQL)
Fonctions de chaîne (Transact-SQL)
DATALENGTH (Transact-SQL)
GAUCHE (Transact-SQL)
DROITE (Transact-SQL)

Ajouts de la communauté

AJOUTER
Afficher: