oracle中用case表达式,说说 Oracle 的 CASE 表达式

oracle中用case表达式,说说 Oracle 的 CASE 表达式_第1张图片

使用 CASE 表达式,我们可以在 SQL 中实现类似 if-elseif-else 逻辑。Oracle 9i 及其以上版本,都支持 CASE 表达式。

推荐使用 CASE 表达式,因为相对于 DECODE() 函数来说,CASE 表达式与 ANSI 兼容,且已成为 SQL /92 标准的一部分,而且 CASE 表达式更易理解。

1 使用表达式确定返回值

语法如下:

CASE search_expression

WHEN expression1 THEN result1

WHEN expression2 THEN result2

...

WHEN expressionN THEN resultN

ELSE default_result

END

复制代码

其中 :

search_expression 是待求值的表达式 。

expression1 、expression2、…、expressionN 是要与 search_expression 进行比较的表达式 。

result1 、 result 2、…、 resultN 是相应逻辑判断分支的返回值。假设 expressionN 的值等于 search_expression ,那么就返回 resultN ,以此类推。

ELSE 中的 default_result 是当上述表达式都无法匹配时,所返回的默认值。

你可能感兴趣的:(oracle中用case表达式)