COL_LENGTH (Transact-SQL)

Returns the defined length, in bytes, of a column.

Topic link iconTransact-SQL Syntax Conventions

Syntax

COL_LENGTH ( 'table' , 'column' ) 

Arguments

  • 'table'
    Is the name of the table for which to determine column length information. table is an expression of type nvarchar.
  • 'column'
    Is the name of the column for which to determine length. column is an expression of type nvarchar.

Return Type

smallint

Exceptions

Returns NULL on error or if a caller does not have permission to view the object.

In SQL Server 2005, a user can only view the metadata of securables that the user owns or on which the user has been granted permission. This means that metadata-emitting, built-in functions such as COL_LENGTH may return NULL if the user does not have any permission on the object. For more information, see Metadata Visibility Configuration and Troubleshooting Metadata Visibility.

Remarks

For columns of type varchar declared with the max specifier (varchar(max)), COL_LENGTH returns the value –1.

Examples

The following example shows the return values for a column of type varchar(40) and a column of type nvarchar(40).

USE AdventureWorks;
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;

Here is the result set.

VarChar     NVarChar
40          80

See Also

Reference

Expressions (Transact-SQL)
Metadata Functions (Transact-SQL)
COL_NAME (Transact-SQL)
COLUMNPROPERTY (Transact-SQL)

Other Resources

Modifying Column Properties

Help and Information

Getting SQL Server 2005 Assistance

Change History

Release History

17 July 2006

New content:
  • Added the "Exceptions" section.