[英]Is there any way to iterate through each column in a table in SQL Server
我有一個包含10列的表。我需要通過while循環選擇每個列(選擇每個列的名稱而不是每個列的值),如果是,則查找其名稱是否以'box'結尾,然后將該列值添加到變量。
例如:
while(column_name(1) = like'%box')
begin
select @value = column_name from table
select column_name = column_name + 1 (i.e select next column name from table)
end
無需使用while循環,而是一種快速簡便的方法來查找名稱喜歡的任何列。
SELECT
c.name AS 'ColumnName'
,t.name AS 'TableName'
FROM
sys.columns c
JOIN
sys.tables t ON c.object_id = t.object_id
WHERE
t.name = 'TableName'
AND c.name LIKE 'box%'
ORDER BY
TableName
,ColumnName;
更新的答案現在將表名包含在where子句中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.