2012-09-13 120 views
1

我试图从表中访问一个字段,并根据字段内容给出不同的输出。
如果此字段有0我想要取No否则如果1NULL我想取yes
它适用于01,但不适用于NULLSQL查询中的条件选择

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

回答

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

或本:

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

有效的快捷键! –

+0

非常感谢!!:D – Richa

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 
0
SELECT ISNULL(CASE Field1 WHEN 0 THEN 'No' WHEN 1 THEN 'Yes','Yes') AS .. 
0
Select distinct(convert(varchar(255),(CASE Field1 
    WHEN 0 THEN    
    'No'    
    else 'Yes' END)))as Field1 from Table1 
0
Select distinct(convert(varchar(255), 
    CASE ISNULL(FIELD1, 1) 
     WHEN 0 THEN 'No'    
     WHEN 1 THEN 'Yes'       
    END 
     ))as FIELD1 
     from TABLE1 
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