2024年3月14日发(作者:)
case when用法sql oracle
CASE WHEN在SQL和Oracle中都是同样的语法,用于实现条件控
制语句。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default result
END
```
其中,CASE是关键字,condition与result应根据具体需要修改,
ELSE和default result都是可选的。
一般情况下,CASE WHEN语句在SELECT语句中使用。例如:
```
SELECT CASE
WHEN age < 18 THEN '未成年'
ELSE '成年'
END
FROM student;
```
这个语句会将student表中age小于18的行的结果设为“未成
年”,其他的则设为“成年”。
除了上述的基本语法外,CASE WHEN还有一些其他的用法:
1.可以用于与其他函数一起使用,例如:
```
SELECT AVG(CASE
WHEN gender = 'Male' THEN salary * 0.8
ELSE salary
END)
FROM employee;
```
这样的语句将会按照员工性别来计算平均工资,男性员工的工资
将会以80%计算。
2.可以嵌套使用,例如:
```
SELECT CASE
WHEN age < 18 THEN '未成年'
ELSE
CASE
WHEN age BETWEEN 18 AND 30 THEN '成年人'
ELSE '老年人'
END
END
FROM student;
```
这个语句会根据学生的年龄来判断其类别,未成年的学生设为
“未成年”,18至30岁之间的学生设为“成年人”,其他的设为“老
年人”。
总之,CASE WHEN是一种非常常用的条件控制语句,能够帮助我们
更好地处理数据,提升SQL的灵活性。


发布评论