DECODE

DECODE関数は、式を各検索値と1つずつ比較します。式が検索値と等しい場合、結果の値が戻されます。一致するものがない場合は、デフォルト値(指定されている場合)が戻されます。それ以外の場合は、NULLが戻されます。

SQL構文

DECODE(Expression, {SearchValue, Result [,...])} [,Default])

パラメータ

DECODEには、次のパラメータがあります。

パラメータ 説明

Expression

検索値と比較される式。Expressionは、CHARVARCHAR2NCHARまたはNVARCHAR2データ型になります。TimesTenデータ型およびOracle Databaseデータ型の両方がサポートされます。

SearchValue

式が1つ以上の検索値と比較されます。

Result

式がSearchValueと等しい場合、指定されたResult値が戻されます。

Default

一致するものが検出されない場合、デフォルト値が戻されます。Defaultはオプションです。Defaultが指定されていない場合は、一致するものが見つからないと、NULLが戻されます。

説明

式が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.