DATALENGTH (Transact-SQL)

Aplica-se a: SQL Server (todas as versões com suporte) Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System)

Essa função retorna o número de bytes usado para representar qualquer expressão.

Observação

Para retornar o número de caracteres em uma expressão de cadeia de caracteres, use a função LEN.

Topic link iconConvenções de sintaxe do Transact-SQL

Sintaxe

DATALENGTH ( expression )   

Observação

Para ver a sintaxe do Transact-SQL para o SQL Server 2014 e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

expressão
É uma expressão de qualquer tipo de dados.

Tipos de retorno

bigint se expression tiver um tipo de dados nvarchar(max), varbinary(max) ou varchar(max); caso contrário, int.

Comentários

DATALENGTH torna-se muito útil quando usada com tipos de dados que podem armazenar dados de comprimento variável, como:

  • imagem
  • ntext
  • nvarchar
  • text
  • varbinary
  • varchar

Para um valor NULL, DATALENGTH retorna NULL.

Observação

Os níveis de compatibilidade podem afetar os valores de retorno. Veja Nível de compatibilidade de ALTER DATABASE (Transact-SQL), para obter mais informações sobre níveis de compatibilidade.

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

Este exemplo localiza o comprimento da coluna Name na tabela Product:

USE AdventureWorks2016  
GO
SELECT length = DATALENGTH(EnglishProductName), EnglishProductName  
FROM dbo.DimProduct  
ORDER BY EnglishProductName;  
GO  

Confira também

LEN (Transact-SQL)
CAST e CONVERT (Transact-SQL)
Tipos de dados (Transact-SQL)
Funções de sistema (Transact-SQL)