在sql查询中有条件地选择

时间:2012-09-13 08:48:31

标签: sql case

我正在尝试从表中访问字段,并根据字段内容提供不同的输出 如果该字段有0我想要No1我想要抓取NULL我想要抓取yes。 它适用于01,但不适用于NULL

Select  distinct(convert(varchar(255),( CASE Field1
                                         WHEN 0 
                                             THEN 'No'
                                         WHEN 1
                                             THEN 'Yes'
                                         WHEN NULL 
                                             THEN 'Yes' 
                                       END ))) AS Field1 FROM Table1

6 个答案:

答案 0 :(得分:2)

CASE Field1
WHEN 0 THEN 'No'              
ELSE 'Yes'
END

或者这个:

CASE ISNULL(Field1, 1)
WHEN 0 THEN 'No'              
WHEN 1 THEN 'Yes'
END

答案 1 :(得分:1)

     Select  distinct(convert(varchar(255),
     (CASE Field1 WHEN 0 THEN 'No'
      WHEN 1 THEN 'Yes'              
      WHEN IS NULL THEN 'Yes'
     END))) as Field1 from Table1

答案 2 :(得分:0)

SELECT ISNULL(CASE Field1 WHEN 0 THEN 'No' WHEN 1 THEN 'Yes','Yes') AS ..

答案 3 :(得分:0)

Select  distinct(convert(varchar(255),( CASE Field1
     WHEN 0 THEN               
    'No'              
     else 'Yes'  END )))as Field1 from Table1

答案 4 :(得分:0)

Select  distinct(convert(varchar(255),
    CASE ISNULL(FIELD1, 1)
        WHEN 0 THEN 'No'              
        WHEN 1 THEN 'Yes'                        
    END 
        ))as FIELD1 
        from TABLE1

答案 5 :(得分:0)

可能你想要这个:

 Select  distinct(convert(varchar(255),( CASE 

     WHEN Field1 =0 THEN               
    'No'              
WHEN Field1=1  THEN              
    'Yes'              
     WHEN Field1 is null THEN 'Yes'              
END )))as Field1 from Table1