Oracle中decode函数使用

Oracle的decode函数的语法如下:

decode(expr, search1, result1 [, search2, result2, ...] [, default])

其中,expr是要匹配的表达式,search1是第一个要匹配的值,result1是第一个匹配的结果。如果expr等于search1,则返回result1。如果不等于,则继续往下匹配。如果没有匹配成功的值,则返回可选的default值(如果提供的话)。search2result2表示第二个要匹配的值和匹配的结果,它们可以重复多次以匹配更多的值。

例如:

select decode(1, 1, 'A', 2, 'B', 'C') from dual;

将返回结果’A’,因为expr为1,和第一个search1匹配,返回result1

select decode(3, 1, 'A', 2, 'B', 'C') from dual;

将返回结果’C’,因为expr为3,和所有的search都没有匹配成功,返回可选的default值。

注意:Oracle 12c之后,建议使用CASE语句代替decode函数。

你可能感兴趣的:(数据库,oracle,数据库)