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

CASEおよびINによる更新-Oracle

    あなたはbudgetpostが英数字であると言いました。つまり、文字列との比較を探しているということです。パラメータを一重引用符で囲むようにしてください(Case式の最後のTHENが欠落しています)。

    UPDATE tab1   
    SET budgpost_gr1=   CASE  
                            WHEN (budgpost in ('1001','1012','50055'))  THEN 'BP_GR_A'   
                            WHEN (budgpost in ('5','10','98','0'))  THEN 'BP_GR_B'  
                            WHEN (budgpost in ('11','876','7976','67465')) THEN 'What?'
                            ELSE 'Missing' 
                            END 
    


    1. Spotlight Tuning Pack Basic:最高の無料SQL最適化ツール

    2. INNER JOIN状態で「OR」を使用するのは悪い考えですか?

    3. SQLiteクエリ結果からINSERTステートメントを生成する

    4. MySQL –影響を受ける行の総数に対するFOUND_ROWS()関数