Oracle的decode()函數可以用來在查詢結果中根據條件返回不同的值。其語法如下:
DECODE(expression, search1, result1, search2, result2, ..., default_result)
expression
是要比較的表達式或列search1
, search2
等是要匹配的值result1
, result2
等是對應匹配值的返回結果default_result
是在沒有匹配到任何條件時的默認返回值例如,下面的示例使用decode()函數將性別字段的值替換為中文名:
SELECT name, DECODE(gender, 'M', '男', 'F', '女', '未知') AS chinese_gender
FROM employees;
這將查詢employees表中的name列,并將gender列的值替換為中文性別,如果gender列的值為’M’,則返回’男’,如果為’F’,則返回’女’,否則返回’未知’。