gpt4 book ai didi

sql-server - 在 SQL Server 中获取查询的列名

转载 作者:行者123 更新时间:2023-12-04 12:50:25 25 4
gpt4 key购买 nike

假设我在 SQL 2014 中有一个查询:

SELECT EmployeeName, EmployeeAddress, EmployeeAge FROM dbo.Employee

我想动态地通过查询,循环并获取列的名称,如 EmployeeName , EmployeeAddress , 和 EmployeeAge .

我需要这个,因为我可以有另一个与此不同的查询,我也需要获取列名。

最佳答案

sp_describe_first_result_set存储过程将为您提供任何查询的列名和更多信息。您只需要将有问题的查询传递给 @tsql范围。
请参阅以下存储过程的示例使用:

DECLARE @queryDescription TABLE
(
s_hidden bit NULL
,column_ordinal int NULL
,name sysname NULL
,is_nullable bit NULL
,system_type_id int NULL
,system_type_name nvarchar(256) NULL
,max_length smallint NULL
,precision tinyint NULL
,scale tinyint NULL
,collation_name sysname NULL
,user_type_id int NULL
,user_type_database sysname NULL
,user_type_schema sysname NULL
,user_type_name sysname NULL
,assembly_qualified_type_name nvarchar(4000) NULL
,xml_collection_id int NULL
,xml_collection_database sysname NULL
,xml_collection_schema sysname NULL
,xml_collection_name sysname NULL
,is_xml_document bit NULL
,is_case_sensitive bit NULL
,is_fixed_length_clr_type bit NULL
,source_server sysname NULL
,source_database sysname NULL
,source_schema sysname NULL
,source_table sysname NULL
,source_column sysname NULL
,is_identity_column bit NULL
,is_part_of_unique_key bit NULL
,is_updateable bit NULL
,is_computed_column bit NULL
,is_sparse_column_set bit NULL
,ordinal_in_order_by_list smallint NULL
,order_by_list_length smallint NULL
,order_by_is_descending smallint NULL
,tds_type_id int NULL
,tds_length int NULL
,tds_collation_id int NULL
,tds_collation_sort_id tinyint NULL

)


DECLARE @query NVARCHAR(MAX) = 'SELECT EmployeeName, EmployeeAddress, EmployeeAge FROM dbo.Employee'

INSERT INTO @queryDescription
EXEC sp_describe_first_result_set @tsql = @query


SELECT Name AS ColumnName
,system_type_name AS DataTypeName
,column_ordinal AS Ordinal
FROM @queryDescription

关于sql-server - 在 SQL Server 中获取查询的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39668471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com