sql >> Database >  >> RDS >> Oracle

Case Statement met ander gegevenstype

Een case statement kan slechts één gegevenstype retourneren. Dus converteer de getallen naar strings:

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

U kunt ook NULL return retourneren wanneer de twee voorwaarden niet overeenkomen.




  1. MySQL-wedstrijd tegen - IN BOOLEAN-MODUS?

  2. Waarom is lang een probleem met Oracle?

  3. Hoe MySQL-selecteerquery te gebruiken in metagegevens van Word Press-gebruikers en links samen te voegen vanuit een andere tabel?

  4. Hoe trek je een af ​​van de maand van een datumnotatie in mysql?