oracle的CASE WHEN
时间: 2023-11-11 14:17:34 浏览: 86
CASE WHEN是Oracle SQL中的条件表达式,用于根据给定的条件执行不同的操作。
语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
```
其中,condition1, condition2等是条件表达式,result1, result2等是与条件相匹配时的结果。
例子:
假设我们有一个名为"students"的表,其中包含学生的姓名和分数。我们想要在查询结果中添加一个列,根据分数的不同给出不同的等级。
```sql
SELECT name, score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM students;
```
以上示例中,根据学生的分数,使用CASE WHEN语句给出了相应的等级。如果分数大于等于90,则等级为'A',如果分数在80-89之间,则等级为'B',以此类推。
希望能够帮到你!如果还有其他问题,请继续提问。
相关问题
ORACLE case when
ORACLE的CASE WHEN语句是一种条件分支语句,用于根据不同的条件执行不同的操作。它可以有两种形式。简单CASE函数的语法如下:
CASE 表达式
WHEN 值1 THEN 结果1
WHEN 值2 THEN 结果2
...
ELSE 默认结果
END
而CASE搜索函数的语法如下:
CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
...
ELSE 默认结果
END
在第一种形式中,CASE表达式和各个WHEN子句后的值进行比较,匹配时返回相应的结果。如果没有匹配的值,则返回ELSE子句中的默认结果。
在第二种形式中,每个WHEN子句只包含条件,不包含具体的值。当条件为真时,返回相应的结果。如果没有条件为真,则返回ELSE子句中的默认结果。
请注意,在ORACLE中,CASE语句是在SELECT语句中使用的。下面是一个例子:
SELECT ID, CASE WHEN SEX=0 AND AGE<=18 THEN NAME||'(女)'||AGE||'岁' ELSE NAME||AGE||'岁'||'(不满足小于等于18岁的女生条件)' END DETAIL FROM "PeopleInfo"
这个例子中,根据性别和年龄的条件,返回不同的结果。
oracle case when
Oracle CASE WHEN是一种条件表达式,用于在查询中根据条件返回不同的值。它的语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是与条件表达式对应的结果,default_result是一个可选的默认结果,当条件表达式都不满足时返回该结果。
例如,下面的查询使用CASE WHEN将员工的薪水分成了三个档次:
```
SELECT first_name, last_name,
CASE WHEN salary >= 10000 THEN '高薪'
WHEN salary >= 5000 THEN '中薪'
ELSE '低薪'
END AS salary_level
FROM employees;
```
在这个例子中,当员工的薪水大于等于10000时,返回“高薪”;当薪水大于等于5000但小于10000时,返回“中薪”;否则返回“低薪”。
阅读全文