oracle case when用法sql
时间: 2023-10-11 10:10:23 浏览: 169
sql中的case用法
Oracle中的CASE WHEN语句是一种用于在SQL查询中实现条件逻辑的表达式。它类似于其他编程语言中的if-then-else结构,可以根据满足的条件返回不同的结果。
在Oracle中,CASE WHEN语句有两种常见的用法:
1. 简单的CASE表达式:使用该表达式可以根据列的值返回不同的结果。语法如下:
```
SELECT CASE 列名
WHEN 值1 THEN 结果1
WHEN 值2 THEN 结果2
ELSE 结果3
END
FROM table1;
```
这种用法适用于在查询结果中根据列的值进行条件判断,并返回不同的结果。
2. 检索的CASE表达式:使用该表达式可以根据条件进行判断并返回不同的结果。语法如下:
```
SELECT CASE
WHEN 条件1 THEN 条件1的结果
WHEN 条件2 THEN 条件2的结果
ELSE 条件1,2以外的结果
END
FROM table1;
```
这种用法适用于根据多个条件进行判断,并返回符合条件的结果。
除了上述两种用法之外,CASE WHEN语句还可以用于作为条件判断函数,如COUNT和SUM。例如:
```
SELECT COUNT( CASE WHEN AGE = 18 THEN '18岁的学生个数' END) EIGHTENN,
COUNT( CASE WHEN AGE = 19 THEN '19岁的学生个数' END) NINETEEN
FROM "PeopleInfo";
```
这个查询可以根据年龄进行条件判断,并返回不同年龄段的学生个数。
总结一下,Oracle中的CASE WHEN语句是一种用于在SQL查询中实现条件逻辑的表达式。它有两种常见的用法:简单的CASE表达式和检索的CASE表达式。此外,它还可以用于作为条件判断函数,如COUNT和SUM。
阅读全文