SQL DECODE関数とは?基本と具体的な使い方を解説

SQLのDECODE関数は、式と複数の可能な値を比較し、一致する結果を返すために使用されます。DECODE関数の構文は以下の通りです:

DECODE(expr, search1, result1, search2, result2, ..., default_result)

exprを比較する式であり、search1やsearch2などが検索可能な値、result1やresult2などがそれに対応する結果となります。exprがsearch1と一致した場合はresult1を返し、exprがsearch2と一致した場合はresult2を返します。一致する値がない場合はdefault_resultを返します。

例えば、以下のSQLクエリは、異なる従業員部門に応じて異なるボーナスを返すためにDECODE関数を使用しています。

SELECT employee_id, DECODE(department_id, 
                            10, salary * 0.1,
                            20, salary * 0.15,
                            30, salary * 0.2,
                            salary * 0.05) AS bonus
FROM employees;

上記の例では、従業員の部署が10、20、30の場合は、異なる部署に応じて異なるボーナス率を返し、それ以外の場合はデフォルトのボーナス率を返します。

bannerAds