Oracle case when用法
时间: 2023-10-23 21:43:35 浏览: 47
Oracle的case when语法可以用于在SQL查询中根据不同的条件返回不同的值。其基本语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
其中,condition1、condition2等代表不同的条件,result1、result2等代表每个条件对应的返回值,default_result代表在所有条件都不成立时的默认返回值。在使用时,需要注意条件和返回值的数据类型要匹配,否则会导致错误。
相关问题
oracle case when 用法
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`等是与嵌套条件表达式对应的结果。
oracle case when用法
Oracle 中的 CASE 语句可以在 SELECT, UPDATE 和 DELETE 语句中使用,用于实现条件选择和分类讨论。
CASE 的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
ELSE result
END
```
每个条件 (condition1, condition2, condition3) 都是一个布尔表达式。当条件为真时,返回对应的结果 (result1, result2, result3)。如果所有条件都不成立,则返回 ELSE 子句后面的结果 (result)。
例如:
```
SELECT
CASE
WHEN salary < 10000 THEN 'Low'
WHEN salary >= 10000 AND salary < 20000 THEN 'Medium'
ELSE 'High'
END AS Salary_Range
FROM employees;
```
这条语句将查询所有员工的工资范围,并以 "Low","Medium" 或 "High"的形式返回。
CASE 还支持简略语法,语法如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
ELSE result
END
```
例如:
```
SELECT
CASE gender
WHEN 'M' THEN 'Male'
WHEN 'F' THEN 'Female'
ELSE 'Unknown'
END AS Gender,
FROM employees;
```
这条语句将查询所有员工的性别, 并以 "Male","Female" 或 "Unknown"的形式返回。