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

विभिन्न डेटा प्रकार के साथ केस स्टेटमेंट

एक case कथन केवल एक डेटा प्रकार लौटा सकता है। इसलिए संख्याओं को स्ट्रिंग में बदलें:

SELECT CASE
  WHEN fourthlevel.case_type IN ('Complaint')
  THEN
     (SELECT cast(COUNT(*) as varchar2(255))
        FROM work_days1
       WHERE     work_days1.business_date > fourthlevel.cdate
             AND work_days1.business_date <=
                    COALESCE (fourthlevel.close_date, SYSDATE))
  WHEN fourthlevel.case_type IN ('Enquiry')
  THEN
     (SELECT cast(COUNT(*) as varchar2(255))
        FROM work_days1
       WHERE     work_days1.business_date > fourthlevel.create_date
             AND work_days1.business_date <=
                    COALESCE (fourthlevel.close_date, SYSDATE))
  WHEN fourthlevel.case_status = 'Cancelled'
  THEN
     'N/A'
END AS sla_days
FROM fourthlevel

वैकल्पिक रूप से, आप NULL return वापस कर सकते हैं जब दो स्थितियां मेल नहीं खातीं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एचक्यूएल क्वेरी में कंडीटोन के साथ शामिल हों?

  2. मौजूद नहीं होने के कारण तालिका बनाने में अनुपलब्ध या अमान्य विकल्प

  3. 12c पदावनत विशेषताएं

  4. ओरेकल डीबी से एसएएस के माध्यम से आयात ब्लॉब

  5. वसंत-jdbc . में कहाँ का उपयोग करना