Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Pernyataan Kasus dengan tipe data yang berbeda

Sebuah case pernyataan hanya dapat mengembalikan satu tipe data. Jadi ubah angka menjadi string:

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

Atau, Anda dapat mengembalikan NULL ketika kedua kondisi tidak cocok.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kriteria Hibernasi untuk Tanggal

  2. Cara Mengaktifkan XA Oracle 11g

  3. Oracle Gabung vs Pilih lalu Sisipkan atau Perbarui

  4. Mengapa Oracle mengabaikan indeks dengan ORDER BY?

  5. SQL - Cara memilih baris yang memiliki kolom dengan nilai maksimal (+ grup menurut)