在Oracle數(shù)據(jù)庫(kù)中,DECODE函數(shù)用于根據(jù)指定的條件對(duì)值進(jìn)行比較,如果滿足條件則返回一個(gè)值,否則返回另一個(gè)值。DECODE函數(shù)的使用方法如下:
DECODE(expression, search_value1, return_value1, search_value2, return_value2, ..., default_value)
其中,expression是要進(jìn)行比較的表達(dá)式,search_value是要比較的值,return_value是返回的值。DECODE函數(shù)會(huì)依次比較expression和每個(gè)search_value,如果找到匹配的值,則返回對(duì)應(yīng)的return_value;如果都不匹配,則返回default_value。
例如,以下示例將根據(jù)emp_job字段的值返回相應(yīng)的職位名稱:
SELECT emp_name, DECODE(emp_job, 'SALESMAN', '銷售員', 'ANALYST', '分析師', 'MANAGER', '經(jīng)理', '未知') AS job_title
FROM emp;
在上面的示例中,如果emp_job字段的值為’SALESMAN’,則返回’銷售員’;如果為’ANALYST’,則返回’分析師’;如果為’MANAGER’,則返回’經(jīng)理’;如果都不匹配,則返回’未知’。