oracle中case when 示例
时间: 2023-12-29 20:26:11 浏览: 83
以下是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";
```
相关问题
oracle case when 语法示例
Oracle的CASE WHEN语句是一种条件选择表达式,它允许根据特定条件返回不同的值。以下是基本的语法示例:
```sql
SELECT column_name,
CASE
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
[ ELSE default_result ] -- 可选,默认值
END AS new_column_name
FROM table_name;
```
这里,`column_name`是你想要操作的列,`condition_1`, `condition_2`是你要判断的条件,如果满足条件,会返回相应的`result_1`或`result_2`。如果所有条件都不满足,可以使用`ELSE`关键字指定默认结果。
例如,假设我们有一个员工表,我们想按工资级别显示员工信息:
```sql
SELECT employee_id,
CASE
WHEN salary > 5000 THEN '高级'
WHEN salary > 3000 AND salary <= 5000 THEN '中级'
ELSE '初级'
END as salary_level
FROM employees;
```
在这个例子中,如果员工工资大于5000,他们的级别会被标记为"高级";如果工资在3000到5000之间,级别为"中级",否则为"初级"。
oracle中case when嵌套if
在 Oracle 中,CASE WHEN 语句可以用于嵌套条件判断。虽然 Oracle 不提供直接的 IF 嵌套语句,但可以使用 CASE WHEN 来实现相似的功能。下面是一个示例:
```
SELECT column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END AS result
FROM table_name;
```
在上面的示例中,`column_name` 是你要选择的列名,`condition1`、`condition2` 是你的条件,`result1`、`result2`、`result3` 是根据条件返回的结果。你可以根据需要添加更多的条件和结果。
注意,在 Oracle 中,CASE WHEN 语句是顺序执行的,一旦匹配到一个条件,后续的条件将不再进行判断。如果没有匹配到任何条件,则返回 ELSE 后面的结果。
阅读全文