[SQL ] 除了* 不想把欄位名稱都列出來的方法

看板Database (資料庫)作者 (給開司一罐蘇格登)時間2年前 (2023/01/02 18:04), 2年前編輯推噓1(101)
留言2則, 2人參與, 2年前最新討論串1/1
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) 資料庫名稱:ms-sql 資料庫版本:2019 內容/問題描述: 欄位很多 我想替換某個欄位名稱 跟欄位內的資料 但因為過於複雜 所以先從最簡單的操作 select * from 材料明細檔 開始嘗試 材料檔內有10~15個欄位 以下是參考的文章 https://www.sqlservercentral.com/forums/topic/how-to-use-stuff-and-for-xml-path-to-get-a-list-of-column-names-in-order-by-column_id https://reurl.cc/AyWpQK 縮網址 目前的狀況是 能夠找到所有欄位名稱 並且也能print 出來 但無法帶入回select * from 材料明細檔 把資料找出來 是否有哪裡出錯了 DECLARE @Cols nvarchar(MAX) SELECT @Cols=STRING_AGG(QUOTENAME(c.COLUMN_NAME), ', ') WITHIN GROUP (ORDER BY c.ORDINAL_POSITION ASC) FROM INFORMATION_SCHEMA.COLUMNS c WHERE c.TABLE_NAME='材料明細檔' AND c.TABLE_SCHEMA='dbo' select @Cols from dbo.材料明細檔 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.152.194 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1672653868.A.0F9.html ※ 編輯: waiter337 (114.35.152.194 臺灣), 01/02/2023 18:57:01

01/02 20:22, 2年前 , 1F
exec("select " + @Cols + " from 材料明細")
01/02 20:22, 1F

01/02 21:26, 2年前 , 2F
感謝 搞定!
01/02 21:26, 2F
文章代碼(AID): #1Zigmi3v (Database)
文章代碼(AID): #1Zigmi3v (Database)