oracle 中case when
时间: 2023-11-16 12:00:17 浏览: 35
在Oracle中,CASE WHEN语句用于在SELECT、WHERE和ORDER BY子句中进行条件判断。它的语法结构如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件表达式为真时的结果,ELSE子句是可选的,表示所有条件表达式都不为真时的默认结果。在使用CASE WHEN语句时,需要注意条件表达式的数据类型必须一致,否则会出现类型转换错误。
相关问题
oracle中case when
在Oracle中,CASE WHEN是一种条件语句,用于根据条件执行不同的操作或返回不同的值。其语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END
```
其中,condition1、condition2到conditionN是要进行判断的条件,result1、result2到resultN是对应的返回值,ELSE result是可选的,表示如果没有任何条件被满足,则返回result。
例如,以下代码将根据员工的工资级别返回不同的补贴:
```
SELECT employee_name,
CASE
WHEN salary > 5000 THEN '2000元'
WHEN salary > 4000 THEN '1500元'
WHEN salary > 3000 THEN '1000元'
ELSE '500元'
END AS subsidy
FROM employees;
```
在这个例子中,如果员工的工资大于5000,将返回2000元补贴,如果大于4000则返回1500元补贴,以此类推。如果没有任何条件被满足,则返回500元补贴。
oracle中case when 示例
以下是Oracle中使用CASE WHEN的示例:
1. 简单的CASE表达式:
```sql
SELECT CASE column_name
WHEN value1 THEN result1
WHEN value2 THEN result2
ELSE result3
END
FROM table1;
```
2. 检索的CASE表达式:
```sql
SELECT CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END
FROM table1;
```
3. 作为条件判断的COUNT和SUM:
```sql
SELECT COUNT(CASE WHEN AGE = 18 THEN '18岁的学生个数' END) EIGHTEEN,
COUNT(CASE WHEN AGE = 19 THEN '19岁的学生个数' END) NINETEEN
FROM "PeopleInfo";
```