如何检索选择查询的列标题?

Beh*_*nam 5 sql sql-server sql-server-2008-r2

如何在SQL Server中将选择查询的列标题检索为单列?(最好检索列的数据类型)

查询示例:

select a.PartId, a.PartName, b.GroupName 
from Parts as a 
inner join Groups as b on a.GroupRef = b.GroupId
Run Code Online (Sandbox Code Playgroud)

预期结果:

Columns 
--------
PartId
PartName
GroupName
Run Code Online (Sandbox Code Playgroud)

Luk*_*zda 5

SQL Server 2012+您可以使用sys.dm_exec_describe_first_result_set开始获取有关结果集的所有元数据:

DBFiddle 演示

DECLARE @tsql NVARCHAR(MAX) = 
  N'select a.PartId , a.PartName , b.GroupName 
from Parts as a inner join Groups as b 
on a.GroupRef = b.GroupId';

SELECT name AS [Columns]
FROM sys.dm_exec_describe_first_result_set(@tsql, NULL, 1)
Run Code Online (Sandbox Code Playgroud)