COL_LENGTH (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Essa função retorna o comprimento definido de uma coluna em bytes.

Convenções de sintaxe de Transact-SQL

Sintaxe

COL_LENGTH ( 'table' , 'column' )   

Argumentos

' table '
O nome da tabela cujas informações de comprimento de coluna queremos determinar. table é uma expressão do tipo nvarchar.

' column '
O nome da coluna cujo comprimento queremos determinar. column é uma expressão do tipo nvarchar.

Tipo de retorno

smallint

Exceções

Retornará NULL em caso de erro ou se um chamador não tiver a permissão correta para exibir o objeto.

No SQL Server, um usuário pode exibir apenas os metadados de itens protegíveis de sua propriedade ou para os quais ele tenha recebido permissão. Isso significa que as funções internas que emitem metadados, como COL_LENGTH, poderão retornar NULL se o usuário não tiver a permissão correta para o objeto. Veja Configuração de Visibilidade de Metadados para obter mais informações.

Comentários

Para colunas varchar declaradas com o especificador max (varchar(max)), COL_LENGTH retornará o valor -1.

Exemplos

Este exemplo mostra os valores retornados para uma coluna do tipo varchar(40) e uma coluna do tipo nvarchar(40):

USE AdventureWorks2022;  
GO  
CREATE TABLE t1(c1 VARCHAR(40), c2 NVARCHAR(40) );  
GO  
SELECT COL_LENGTH('t1','c1')AS 'VarChar',  
      COL_LENGTH('t1','c2')AS 'NVarChar';  
GO  
DROP TABLE t1;  

Veja a seguir o conjunto de resultados.

VarChar     NVarChar  
40          80  

Confira também

Expressões (Transact-SQL)
funções de metadados (Transact-SQL)
COL_NAME (Transact-SQL)
COLUMNPROPERTY (Transact-SQL)