Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
INDEX_COL (Transact-SQL)

INDEX_COL (Transact-SQL)

 

Applies To: SQL Server 2014, SQL Server 2016 Preview

Returns the indexed column name. Returns NULL for XML indexes.

Applies to: SQL Server (SQL Server 2008 through current version), Azure SQL Database.

Topic link icon Transact-SQL Syntax Conventions


INDEX_COL ( '[ database_name . [ schema_name ] .| schema_name ]
    table_or_view_name', index_id , key_id ) 

database_name

Is the name of the database.

schema_name

Is the name of the schema to which the index belongs.

table_or_view_name

Is the name of the table or indexed view. table_or_view_name must be delimited by single quotation marks and can be fully qualified by database name and schema name.

index_id

Is the ID of the index. index_ID is int.

key_id

Is the index key column position. key_ID is int.

nvarchar (128)

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

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 INDEX_COL may return NULL if the user does not have any permission on the object. For more information, see Metadata Visibility Configuration.

Exception Condition

The following example returns the column names of the two key columns in the index PK_SalesOrderDetail_SalesOrderID_LineNumber.

USE AdventureWorks2012;
GO
SELECT 
    INDEX_COL (N'AdventureWorks2012.Sales.SalesOrderDetail', 1,1) AS
        [Index Column 1], 
    INDEX_COL (N'AdventureWorks2012.Sales.SalesOrderDetail', 1,2) AS
        [Index Column 2]
;
GO

Here is the result set:

Index Column 1      Index Column 2
-----------------------------------------------
SalesOrderID        SalesOrderDetailID

Community Additions

ADD
Show:
© 2015 Microsoft