oracle的case when 用法
时间: 2023-11-16 10:00:47 浏览: 45
Oracle的CASE WHEN语法可以用于在查询中根据条件返回不同的结果。它有两种形式,简单CASE函数和搜索CASE函数。简单CASE函数用于对单个表达式进行比较,而搜索CASE函数用于对多个表达式进行比较。在使用CASE WHEN语法时,需要注意以下几点:
1. 以CASE开头,以END结尾。
2. 分支中WHEN后跟条件,THEN为显示结果。
3. ELSE为除此之外的默认情况,可以不加。
4. END后跟别名。
下面是一个简单CASE函数的例子:
```
SELECT name,
CASE gender
WHEN 'M' THEN 'Male'
WHEN 'F' THEN 'Female'
ELSE 'Unknown'
END AS gender
FROM employees;
```
这个查询将根据gender列的值返回不同的结果,并将结果存储在名为gender的列中。如果gender是'M',则返回'Male',如果是'F',则返回'Female',否则返回'Unknown'。
另一个例子是搜索CASE函数:
```
SELECT name,
CASE
WHEN salary < 5000 THEN 'Low'
WHEN salary >= 5000 AND salary < 10000 THEN 'Medium'
ELSE 'High'
END AS salary_range
FROM employees;
```
这个查询将根据salary列的值返回不同的结果,并将结果存储在名为salary_range的列中。如果salary小于5000,则返回'Low',如果salary大于等于5000且小于10000,则返回'Medium',否则返回'High'。