我有一个表里面包含的两个字段,State和Value都是int型
Value表示值,State表示状态
想得到个显示结果为:
当State=1时State='无返回值',Value='无返回值'
State=21时State='不可测值',Value='不可测值'
State=3时State='未工作',Value='未工作'
State为其他值时State='正常',Value则显示其数据

解决方案 »

  1.   

    select 
    state = case 
    when state=1 then '无返回值'
    when state-21 then '不可测值'
    when state-3 then '未工作'
    else '正常' end,
    [value] =  case 
    when state=1 then '无返回值'
    when state-21 then '不可测值'
    when state-3 then '未工作'
    else cast([value] as varchar) end
    from tb
      

  2.   

    select State=case when State=1 then '无返回值'  
      when State=2 then '不可测值'
                      when State=3  then '未工作'
      else'正常' end,
          [value]=case when State=1 then '无返回值'  
      when State=2 then '不可测值'
                      when State=3  then '未工作'
      else [value] end
    from 表
      

  3.   

    Select
    (Case State When 1 Then N'无返回值' When 2 Then N'不可测值' When 3 Then '未工作' Else N'正常' End ) As State,
    (Case State When 1 Then N'无返回值' When 2 Then N'不可测值' When 3 Then '未工作' Else Rtrim(Value) End ) As Value
    From TableName
      

  4.   

    select State=case when State=1 then '无返回值'  
    when State=2 then '不可测值'
                      when State=3  then '未工作'
    else'正常' end,
          [value]=case  when State=1 then '无返回值'  
     when State=2 then '不可测值'
                       when State=3  then '未工作'
     else [value] end
    from 表