oracle case when 用法
时间: 2023-11-16 21:01:06 浏览: 113
Oracle中的CASE WHEN语句是一种流程控制语句,它允许根据条件执行不同的操作。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END;
```
其中,`condition1`、`condition2`等是条件表达式,`result1`、`result2`等是与条件表达式对应的结果。如果没有任何条件表达式被满足,则返回`ELSE`子句中的结果。如果没有`ELSE`子句,则返回`NULL`。
除了上述基本语法,Oracle的CASE WHEN语句还有其他一些用法,例如:
1. 使用搜索表达式:
```
CASE search_expression
WHEN expression1 THEN result1
WHEN expression2 THEN result2
...
ELSE resultN
END;
```
其中,`search_expression`是要比较的表达式,`expression1`、`expression2`等是与`search_expression`进行比较的表达式,`result1`、`result2`等是与条件表达式对应的结果。
2. 嵌套CASE WHEN语句:
```
CASE
WHEN condition1 THEN
CASE
WHEN subcondition1 THEN subresult1
WHEN subcondition2 THEN subresult2
...
ELSE subresultN
END
WHEN condition2 THEN result2
...
ELSE resultN
END;
```
其中,`subcondition1`、`subcondition2`等是嵌套的条件表达式,`subresult1`、`subresult2`等是与嵌套条件表达式对应的结果。
阅读全文