Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Warunkowa klauzula WHERE z instrukcją CASE w Oracle

Możesz napisać where klauzula jako:

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

Alternatywnie usuń case całkowicie:

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

Albo jeszcze lepiej:

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. Jak sprawdzić wartości parametrów NLS w bazie danych Oracle

  2. Czy Oracle wycofuje transakcję w przypadku błędu?

  3. Jak wyświetlić błędy w sqlplus

  4. Jak wywołać procedurę składowaną w JDBC

  5. Nie można utworzyć wystąpienia błędu dostawcy OLE DB jako użytkownik uwierzytelniania systemu Windows