LEN (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise do SQL Warehouse no Microsoft Fabric
Retorna o número de caracteres da expressão de cadeia de caracteres especificada, excluindo espaços à direita.
Observação
Para retornar o número de bytes usado para representar uma expressão, use a função DATALENGTH.
Convenções de sintaxe de Transact-SQL
Sintaxe
LEN ( string_expression )
Argumentos
string_expression
É a expression da cadeia de caracteres a ser avaliada. character_expression pode ser uma constante, uma variável ou uma coluna de dados de caracteres e binários.
Tipos de retorno
bigint if expression é dos tipos de dados varchar(max), nvarchar(max) ou varbinary(max); caso contrário, int.
Se você estiver usando ordenações de caracteres suplementares, o valor inteiro retornado contará os pares alternativos UTF-16 como um único caractere. Para obter mais informações, consulte Suporte a ordenações e a Unicode.
Comentários
LEN exclui os espaços à direita. Se isso for um problema, considere usar a função DATALENGTH (Transact-SQL), que não corta a cadeia de caracteres. Se estiver processando uma cadeia de caracteres unicode, DATALENGTH retornará um número que pode não ser igual ao número de caracteres. O exemplo a seguir demonstra LEN e DATALENGTH com um espaço à direita.
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];
Observação
Use LEN para retornar o número de caracteres codificados em determinada expressão de cadeia de caracteres e DATALENGTH para retornar o tamanho em bytes de determinada expressão de cadeia de caracteres. Essas saídas podem ser diferentes dependendo do tipo de dados e do tipo de codificação usado na coluna. Para obter mais informações sobre as diferenças de armazenamento entre diferentes tipos de codificação, confira Suporte a agrupamentos e Unicode.
Exemplos
O exemplo a seguir seleciona o número de caracteres e os dados de FirstName
para pessoas localizadas na Australia
. Este exemplo usa o banco de dados AdventureWorks.
SELECT LEN(FirstName) AS Length, FirstName, LastName
FROM Sales.vIndividualCustomer
WHERE CountryRegionName = 'Australia';
GO
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
O exemplo a seguir retorna o número de caracteres na coluna FirstName
e os nomes e sobrenomes de funcionários localizados em 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';
Veja a seguir o conjunto de resultados.
FNameLength FirstName LastName
----------- --------- ---------------
4 Lynn Tsoflias
Confira também
DATALENGTH (Transact-SQL)
CHARINDEX (Transact-SQL)
PATINDEX (Transact-SQL)
LEFT (Transact-SQL)
RIGHT (Transact-SQL)
Tipos de dados (Transact-SQL)
Funções de cadeia de caracteres (Transact-SQL)