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

WHERE句のCASEWHENが、キーワードがないというエラーで失敗している

    CASEは使用できません THENとしてのそのような表現 句は、比較ではなく単一の式を想定しています。代わりに必要なもの:

    SELECT DISTINCT
           LOGINID
    FROM   EMPLOYEES
    WHERE  EmployeeCode NOT IN ('L35', 'L36')
    AND    (  CREATE_DT >= DATE '2020-05-07'
           OR XML_VAL NOT LIKE '%<Product>%' )
    

    本当にCASEを使用したい場合 式の場合、これは構文的に有効です:

    CASE
    WHEN CREATE_DT < TO_DATE('07-MAY-20', 'DD-MON-RR', 'NLS_DATE_LANGUAGE=American')
    THEN XML_VAL
    ELSE NULL
    END NOT LIKE '%<Product>%'
    



    1. Rails 4:MySqlとMongoDBを一緒に使用する

    2. データベース内の各テーブルにmysqlクエリを適用します

    3. Oracleでトリガーを使用してテーブルへの変更をログに記録する

    4. 休日を除く2つの日付の間の平日数を取得する関数