Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

मैं एक SQL चयन में IF...फिर कैसे निष्पादित करूं?

CASE कथन SQL में IF के सबसे निकट है और SQL सर्वर के सभी संस्करणों पर समर्थित है।

SELECT CAST(
             CASE
                  WHEN Obsolete = 'N' or InStock = 'Y'
                     THEN 1
                  ELSE 0
             END AS bit) as Saleable, *
FROM Product

आपको केवल CAST . का उपयोग करने की आवश्यकता है ऑपरेटर यदि आप परिणाम को बूलियन मान के रूप में चाहते हैं। अगर आप int . से खुश हैं , यह काम करता है:

SELECT CASE
            WHEN Obsolete = 'N' or InStock = 'Y'
               THEN 1
               ELSE 0
       END as Saleable, *
FROM Product

CASE बयानों को अन्य CASE में एम्बेड किया जा सकता है बयान और यहां तक ​​कि समुच्चय में भी शामिल हैं।

SQL सर्वर Denali (SQL Server 2012) IIF स्टेटमेंट जोड़ता है जो एक्सेस में भी उपलब्ध है (मार्टिन स्मिथ द्वारा इंगित):

SELECT IIF(Obsolete = 'N' or InStock = 'Y', 1, 0) as Saleable, * FROM Product


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर SMO ने DLL के गुम होने की शिकायत की

  2. SQL सर्वर v.अगला:STRING_AGG () प्रदर्शन

  3. SQL सर्वर को हबस्पॉट CRM से कनेक्ट करें

  4. नवरचर (अधिकतम) के लिए मुझे टीएसक्यूएल में केवल 4000 वर्ण मिल रहे हैं?

  5. SQL सर्वर में IP पता संग्रहीत करने के लिए सबसे उपयुक्त डेटा प्रकार क्या है?