簡體   English   中英

從SQL Server中的選擇查詢中獲取列名

[英]Get column names from select query in SQL Server

我在SQL Server中有這樣的選擇:

Select name, email, username, tel 
from ViewName

我想從該選擇中獲取列名稱的列表。

注意 :

1.我沒有表名

2.選擇查詢是動態的

選擇查詢在視圖中

嘗試這個:

我希望它會動態運行,它將根據您在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)

試試這些。

sp_help 'viewName'

要么

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM