DECODE
DECODE関数は、式を各検索値と1つずつ比較します。式が検索値と等しい場合、結果の値が戻されます。一致するものがない場合は、デフォルト値(指定されている場合)が戻されます。それ以外の場合は、NULLが戻されます。
SQL構文
DECODE(Expression, {SearchValue, Result [,...])} [,Default])
パラメータ
DECODEには、次のパラメータがあります。
| パラメータ | 説明 |
|---|---|
|
|
検索値と比較される式。 |
|
|
式が1つ以上の検索値と比較されます。 |
|
|
式が |
|
|
一致するものが検出されない場合、デフォルト値が戻されます。 |
説明
式がNULLの場合、NULL式はNULL検索値と等しくなります。
例
次の例では、DECODE関数を呼び出します。locations表で、列country_idが'IT'と等しい場合は、'Italy'が戻されます。country_idが'JP'と等しい場合は、'Japan'が戻されます。country_idが'US'と等しい場合は、'United States'が戻されます。country_idが'IT'、'JP'または'US'と等しくない場合は、'Other'が戻されます。
Command> SELECT location_id,
DECODE (country_id, 'IT', 'Italy',
'JP', 'Japan', 'US', 'United States', 'Other')
FROM locations WHERE location_id < 2000;
LOCATION_ID, EXP
< 1000, Italy >
< 1100, Italy >
< 1200, Japan >
< 1300, Japan >
< 1400, United States >
< 1500, United States >
< 1600, United States >
< 1700, United States >
< 1800, Other >
< 1900, Other >
10 rows found.