To get column names from table having a particular value

前端 未结 1 903
粉色の甜心
粉色の甜心 2020-12-17 05:42

Please tell me How to get column names where column value =123 for a particular row.Thanks in advance .

相关标签:
1条回答
  • 2020-12-17 06:24
    -- Test table
    declare @T table(ID int, Col1 varchar(10), Col2 int, Col3 bit, Col4 varchar(max))
    insert into @T values (1, '123', 123, 1, 'Some text long text')
    
    -- ID to get one row
    declare @ID int
    set @ID = 1
    
    -- Value to search for
    declare @Val varchar(10) 
    set @Val = '123'
    
    select 
      Col.value('local-name(.)', 'varchar(max)') as ColName
    from (select *
          from @T
          where ID = @ID
          for xml path(''), type) as T(XMLCol)
      cross apply 
        T.XMLCol.nodes('*') as n(Col) 
    where Col.value('.', 'varchar(10)') = @Val  
    

    Result

    ColName
    --------
    Col1
    Col2
    
    0 讨论(0)
提交回复
热议问题