簡體   English   中英

有什么方法可以遍歷SQL Server中表的每一列

[英]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.

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