2007/8/23 木曜日

CASEとDECODE(SQL)

カテゴリー: SQL — mori @ 18:58:04

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を合わせて使えたのでちょっと満足。

コメントはまだありません

コメントはまだありません。

このコメント欄の RSS フィード

コメントフォームは現在閉鎖中です。

HTML convert time: 0.107 sec. Powered by WordPress ME