Oracle的DECODE函數是一種條件表達式,用于對一個表達式進行判斷,根據不同的條件返回不同的結果。DECODE函數的語法如下:
DECODE(expr, value1, result1, value2, result2, ..., default_result)
expr
是要進行判斷的表達式;
value1, value2, ...
是要與表達式進行比較的值;
result1, result2, ...
是與對應的值匹配時返回的結果;
default_result
是當沒有與任何值匹配時返回的默認結果。
DECODE函數的工作方式是,它按照順序比較expr
與value1, value2, ...
,當找到與之相等的值時,返回對應的result
。如果沒有找到與之相等的值,則返回default_result
。DECODE函數通常用于在SELECT語句中進行條件判斷,根據不同的條件返回不同的結果。
下面是一個DECODE函數的示例:
SELECT DECODE(department_id, 100, 'HR', 200, 'IT', 'Other') AS department_name
FROM employees;
這個示例中,DECODE函數根據department_id
的值進行判斷,如果department_id
等于100,則返回’HR’;如果department_id
等于200,則返回’IT’;否則返回’Other’。