sql >> Databáze >  >> RDS >> Oracle

Case Statement s jiným datovým typem

case může vrátit pouze jeden datový typ. Převeďte tedy čísla na řetězce:

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

Případně můžete vrátit NULL když se tyto dvě podmínky neshodují.




  1. Jak mohu vybrat řádek s nejvyšším ID v MySQL?

  2. Django:Exception Value (2013, '2013:Ztracené připojení k serveru MySQL během dotazu', Žádné)

  3. Jak aktualizovat všechny řádky kromě jednoho řádku z mnoha splňujících danou podmínku?

  4. Jak ukládat a načítat textová data v MySQL při zachování zalomení řádků?