リファレンスガイド> SQL関数のTDVサポート> 条件付き関数> DECODE
 
DECODE
DECODE関数は、式を検索値と比較し、trueの場合、指定された結果を返します。一致するものが見つからない場合、DECODEは、指定されている場合、デフォルト値を返します。デフォルト値を省略した場合、DECODEはNULLを返します。
構文
DECODE (expression, search_value, result, [search_value, result]...[,default])
備考
式とsearch_valueがNULLの場合、結果が返されます。
結果値を使用してDECODEの出力値のデータタイプを判別するには、データタイプ優先のANSISQL規則を適用します。 search_valueは、出力データタイプには影響しません。
DECODEは、空の文字列をNULLとして扱います。
次の表に、DECODEの入力引数のデータタイプを示します。
式のデータタイプ
出力タイプ
BINARY、DATE、DECIMAL、FLOAT、INTEGER、INTERVAL_DAY、INTERVAL_YEAR、NULL、STRING、TIME、TIMESTAMP、XML
データタイプの優先順位に関するANSISQL規則に従います。
SELECT supplier_name,
DECODE (supplier_id,
10000, 'IBM',
10001, 'Microsoft',
10002, 'Hewlett Packard',
'Gateway') result
FROM suppliers;
 
この例は次と同等です。
CAST WHEN supplier_id = 10000 THEN 'IBM'
WHEN = 10001 THEN 'Microsoft'
WHEN = 10002 THEN 'Hewlett Packard'
ELSE 'Gateway'; END