Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Mệnh đề WHERE có điều kiện với câu lệnh CASE trong Oracle

Bạn có thể viết where mệnh đề như:

where (case when (:stateCode = '') then (1)
            when (:stateCode != '') and (vw.state_cd in (:stateCode)) then 1
            else 0)
       end) = 1;

Ngoài ra, hãy xóa case hoàn toàn:

where (:stateCode = '') or
      ((:stateCode != '') and vw.state_cd in (:stateCode));

Hoặc, thậm chí tốt hơn:

where (:stateCode = '') or vw.state_cd in (:stateCode)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách khôi phục bản vá sau giai đoạn chuyển đổi không thành công trong R12.2

  2. Hàm NUMTOYMINTERVAL () trong Oracle

  3. Nhầm lẫn với Oracle CONNECT BY

  4. tiên tri | xóa các bản ghi trùng lặp

  5. Có cần thiết phải vứt bỏ DbCommand sau khi sử dụng không?