SQL の decode() 関数の使い方を教えてください。
SQLのdecode()関数は、与えられた条件に基づいて式を複数判断し、対応する結果を返すものです。基本的な構文を次に示します。
DECODE(expression, search_value_1, result_1, search_value_2, result_2, ..., default_result)
ここで、expression は判断する式、search_value_1、search_value_2などは式と比較する値、result_1、result_2などは corresponding 結果の値です。式がいくつかの search_value と等しい場合、対応する result の値が返されます。一致する search_value がない場合は、default_result が返されます。
例えば、以下の例では、注文の状態コードに基づいて対応する状態名を取得します。
SELECT order_id, decode(status_code,
'P', 'Pending',
'C', 'Completed',
'X', 'Cancelled',
'Unknown') AS status_name
FROM orders;
例で解説すると、status_codeが’P’の場合は’Pending’を、’C’の場合は’Completed’を、’X’の場合は’Cancelled’をとし、その他はすべて’Unknown’となる。
データベースシステムによって同等の機能を実現する方法が異なるケースがあるので、使用時には使用しているデータベースシステムに応じて適切な関数とその文法を確認する必要があります。