sql >> Database teknologi >  >> RDS >> Oracle

Sagsopgørelse med anden datatype

Et case sætning kan kun returnere én datatype. Så konverter tallene til strenge:

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

Alternativt kan du returnere NULL når de to betingelser ikke stemmer overens.




  1. Opret trigger på Oracle fra en bruger, der lytter til begivenheder for en anden bruger

  2. MySQL UNIQUE-nøgle virker ikke

  3. Hvordan bruger man transaktioner og låse korrekt for at sikre databaseintegritet?

  4. Vælg Forespørgsel | Vælg Entires That Don't Start With a Number - MySQL