CASEとDECODE(SQL)
CASE・・・式を評価し、任意の値に変換することが可能
DECODE・・・値を評価し任意の値に変換することが可能
下記の条件でCOMMON_FLGに適当な値をINSERTしたい。
A_FLGに対象なものは”1″がたっている。B_FLGも同様別の項目で対象なものは”1″がたっている。A_に1がたっているものはBにはたっていない。逆も同じ。両方とも対象外はNULL。
この条件で、A_FLGが”1″のものはCOMMON_KEYに”01″、B_FLGが”1″ならCOMMON_FLGに”02″を指定する。
case
decode(A_FLG,1,’1′,’0′)||decode(B_FLG,1,’1′,’0′)
when ‘10′ then ‘01′
when ‘01′ then ‘02′
end
これでCOMMON_KEYにINSERTしてみたらうまくいった。ってかこんなにめんどくさいことしなきゃいけないの??もっと簡単なやりかたありそう・・・だけどDECODEとCASEを合わせて使えたのでちょっと満足。