sql >> Database >  >> RDS >> Oracle

Voorwaardelijke WHERE-clausule met CASE-instructie in Oracle

U kunt de where . schrijven clausule als:

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

Of verwijder de case volledig:

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

Of, nog beter:

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



  1. Hoe een vierkant in SQL Server te berekenen

  2. Vertrouwen herstellen in een externe sleutelbeperking in SQL Server (T-SQL-voorbeelden)

  3. bij het invoegen van een Perzisch teken in oracle db zie ik het vraagteken

  4. SQLite MIN