LEN (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse 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 )
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
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';
Este é o conjunto de resultados.
FNameLength FirstName LastName
----------- --------- ---------------
4 Lynn Tsoflias
Consulte 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)
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários