2011-11-08 11 views
12

मैं एक अलग मूल्य कैसे दिखाई देते हैं, कुछ स्तंभ गलत लौटने के लिए,TSQL नहीं लौटने के लिए या हाँ बजाय सही या गलत

उदाहरण के लिए

,

स्तंभ "बुनियादी" FALSE देता है, लेकिन मैं के लिए दिखाने की जरूरत है उपयोगकर्ता हां या नहीं। मामला गलत, वापसी नहीं।

+0

SQL सर्वर में कोई भी बूलियन सत्य/झूठी कॉलम नहीं हैं। हमें बताएं कि डेटा बेसिस का डेटा प्रकार क्या है। – sqlvogel

उत्तर

37

varchar या बिट हैं, से निपटने NULLs

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

या बस थोड़ा अगर

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

संपादित करें:

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

में लपेटने की आवश्यकता है, लेकिन मैं इसे अपनी क्वेरी में कैसे रख सकता हूं? "SEII TipoImovel_Id AS TII_SEQ, Descricao AS TII_DSC, सिग्ला एएस TII_DSC_SIGLA, San_TipoImovel से मूल"; मूलभूत मुझे यस या कोई मामला सही या गलत वापस करने की आवश्यकता है –

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

लेकिन मैं इसे अपनी क्वेरी में कैसे रख सकता हूं? "SEII TipoImovel_Id AS TII_SEQ, Descricao AS TII_DSC, सिग्ला एएस TII_DSC_SIGLA, San_TipoImovel से मूल"; मूलभूत मुझे वापस यस या कोई मामला सही या गलत –

0

उपयोग CASE बयान:

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

की आवश्यकता है आपको अपने अक्षरों को सिंगल कोट्स –

+0

@ मार्कक्राम, फिक्स्ड –

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

आप कर सकते थे एक उपयोगकर्ता परिभाषित समारोह बनाने ताकि भविष्य में आप सिर्फ कह सकते हैं कुछ की तरह:

select dbo.YesNo(Active) from APAccount 
यहाँ

समारोह

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 
है एसक्यूएल 2012 के बाद से
2

आप आईआईएफ फ़ंक्शन

का उपयोग कर सकते हैं
IIF(BASIC = 'TRUE', 'YES', 'NO') 
संबंधित मुद्दे