2011-11-08 7 views

cevap

37

, taşıma NULL

case 
    when BASIC = 'FALSE' then 'NO' 
    when BASIC <> 'FALSE' then 'YES' 
    else 'UNDEFINED' 
end 

ya da sadece biraz eğer

case 
    when BASIC = 1 then 'YES' 
    when BASIC = 0 then 'NO' 
    else 'UNDEFINED' 
end 

Düzenleme:

Bunun gibi 210
SELECT 
    TipoImovel_Id AS TII_SEQ, 
    Descricao AS TII_DSC, 
    Sigla AS TII_DSC_SIGLA, 
    -- choose which one you want from the answers here 
    case 
     when BASIC = 1 then 'YES' 
     when BASIC = 0 then 'NO' 
     else 'UNDEFINED' 
    end AS SomeColumnName 
FROM San_TipoImovel"; 
+0

ile sarmanız gerekir, ancak bunu sorguma nasıl yerleştirebilirim? "SELECT TipoImovel_Id TII_SEQ, Descricao AS TII_DSC, Sigla AS TII_DSC_SIGLA, temel San_TipoImovel"; İhtiyacım olan temel YES veya NO durumunda DOĞRU veya YANLIŞ –

6
case when column = 'FALSE' then 'NO' else 'YES' end 
+0

ama bunu sorguma nasıl yazabilirim? "SELECT TipoImovel_Id TII_SEQ, Descricao AS TII_DSC, Sigla AS TII_DSC_SIGLA, temel San_TipoImovel"; İhtiyacım olan temel EVET veya HAYIR durumda DOĞRU veya YANLIŞ –

0

Kullanım CASE deyimi: varchar veya bit ise

case BASIC when 'True' then 'Yes' ELSE 'No' end 
+0

Hazırlıklarınızı tek tırnak içinde –

+0

@MarkKram, Sabit –

0

:

SELECT TipoImovel_Id AS TII_SEQ, Descricao AS TII_DSC, Sigla AS TII_DSC_SIGLA, case when basic = 'FALSE' then 'NO' else 'YES' end 
FROM San_TipoImovel 
0

Yapabilirsin sadece bir şey gibi diyebiliriz gelecekte de bir kullanıcı tanımlı işlevi oluşturun:

burada
select dbo.YesNo(Active) from APAccount 

fonksiyon

CREATE FUNCTION [dbo].YesNo(@Value Bit) 
    RETURNS varchar(3) 
    BEGIN 
     DECLARE @R as varchar(3) 

     SET @R = 
     (
     Select 
      case 
       when @Value = 1 then 'Yes' 
       else 'No' 
      end 
     ) 
     RETURN @R 
    END 
olduğunu
2

SQL 2012'den beri IIF işlevini kullanabilirsiniz

IIF(BASIC = 'TRUE', 'YES', 'NO') 
İlgili konular