admin管理员组

文章数量:1530961

2023年12月13日发(作者:)

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的灵活性。

本文标签: 语句员工控制条件学生