sql >> データベース >  >> RDS >> Oracle

OracleのCASEステートメントを含む条件付きWHERE句

    whereを書くことができます 節:

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

    または、caseを削除します 完全に:

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

    または、さらに良い:

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



    1. GIS:PostGIS /PostgreSQL対MySql対SQLServer?

    2. 複数の行に値を分割する

    3. Green-DAOで双方向1:mを処理する正しい方法

    4. SQLLIKE句でのSqlParameterの使用が機能しない