[英]Get column names from select query in SQL Server
I have a select in SQL Server like this: 我在SQL Server中有这样的选择:
Select name, email, username, tel
from ViewName
I want to get a list of column names from that select. 我想从该选择中获取列名称的列表。
Note : 注意 :
1. I don't have table name 1.我没有表名
2. Select query is dynamic 2.选择查询是动态的
Select query is in view 选择查询在视图中
Try This: 尝试这个:
I hope this will work dynamically, it'll select all the
columns
depending on theTable_View_Name
you passed in theparameter
.我希望它会动态运行,它将根据您在
parameter
传递的Table_View_Name
选择所有columns
。
declare @tab varchar(max)='Your_Dynamic_Table_View_Name'
declare @txt varchar(max)='SELECT COLUMN_NAME FROM information_schema.columns WHERE table_name ='+@tab
declare @columns varchar(max)=(SELECT
STUFF((
SELECT ', ' + COLUMN_NAME
FROM information_schema.columns where table_name=@tab
FOR XML PATH(''),TYPE).value('(./text())[1]','VARCHAR(MAX)')
,1,2,'') AS NameValues)
exec('select '+@columns+' from '+@tab)
Try these.. 试试这些。
sp_help 'viewName'
or 要么
select c.* from syscolumns c inner join sysobjects o on o.id=c.id where o.name='viewName'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.