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’,则返回’女’,否则返回’未知’。