在DB2中,DECODE函数用于比较一个表达式与一系列可能的值,并返回匹配值的结果。DECODE函数的语法如下:
DECODE(expression, search_value1, result1, search_value2, result2, ..., default_result)
其中,expression是要比较的表达式,search_value1, search_value2, … 是可能的值,result1, result2, … 是与每个值对应的结果,default_result是当没有匹配值时返回的默认结果。如果expression与search_value1匹配,则返回result1,如果与search_value2匹配,则返回result2,依此类推。如果没有匹配值,则返回default_result。
例如,假设有一个表employees包含employee_id和department_id字段,我们可以使用DECODE函数来返回每个员工所属的部门名称:
SELECT employee_id, DECODE(department_id, 1, 'Sales', 2, 'Marketing', 3, 'Finance', 'Other') AS department_name
FROM employees;
上面的查询将根据department_id字段的值返回相应的部门名称,如果department_id没有匹配的值,则返回Other。