DECODE

DECODE(,値1,戻り値1,・・・値n,戻り値n,[戻り値z])

式の結果と値が一致する場合はその場所の戻り値を返す。どれも式と合わない場合は戻り値z(省略時はNULL)になる。CASE式でだいたい書き換えられる。


CASE 式 と DECODE 関数の違い
検索 CASE 式 のように評価する式が個々に設定できないため、範囲指定などの条件指定が基本的に行えない。
CASE 式は NULL との評価はすべて NULL になる。
一方 DECODE は NULL = NULL は True となる。

詳しくはSHIFT the Oracle


DECODE(JOB,'CLERK','CTU',
'SALESMAN','NSA',
'OTHERS')
JOBがCLERKならCTUを、SALESMANならNSAを、それ以外ならOTHERSを返す。

アーカイブ

Powered by Movable Type 4.22-ja