COL_NAME (Transact-SQL)

**APPLIES TO:** ![yes](media/yes.png)SQL Server (starting with 2008) ![yes](media/yes.png)Azure SQL Database ![yes](media/yes.png)Azure SQL Data Warehouse ![yes](media/yes.png)Parallel Data Warehouse

This function returns the name of a table column, based on the table identification number and column identification number values of that table column.

Topic link icon Transact-SQL Syntax Conventions

Syntax

COL_NAME ( table_id , column_id )  

Arguments

table_id
The identification number of the table containing that column. The table_id argument has an int data type.

column_id
The identification number of the column. The column_id argument has an int data type.

Return types

sysname

Exceptions

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

In SQL Server 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_NAME might return NULL, if the user does not have correct permissions on the object. See Metadata Visibility Configuration for more information.

Remarks

The table_id and column_id parameters together produce a column name string.

See OBJECT_ID (Transact-SQL) for more information about obtaining table and column identification numbers.

Examples

This example returns the name of the first column in a sample Employee table.

-- Uses AdventureWorks  
  
SELECT COL_NAME(OBJECT_ID('dbo.FactResellerSales'), 1) AS FirstColumnName,  
COL_NAME(OBJECT_ID('dbo.FactResellerSales'), 2) AS SecondColumnName;  

Here is the result set.

ColumnName          
------------   
BusinessEntityID  

See also

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