oracle case when

导读 在Oracle数据库中,`CASE WHEN`语句是一个条件表达式,用于在SQL查询中进行条件判断并返回相应的值。它可以在SELECT查询、UPDATE语句、DEL

在Oracle数据库中,`CASE WHEN`语句是一个条件表达式,用于在SQL查询中进行条件判断并返回相应的值。它可以在SELECT查询、UPDATE语句、DELETE语句等中使用。

基本语法如下:

```sql

CASE

WHEN condition1 THEN result1

WHEN condition2 THEN result2

...

ELSE result

END

```

这里是一个简单的例子来说明如何使用`CASE WHEN`:

假设我们有一个名为`employees`的表,其中包含员工的姓名和工资。我们想要查询每个员工的工资等级,可以使用以下查询:

```sql

SELECT

name,

salary,

CASE

WHEN salary <= 5000 THEN 'Low'

WHEN salary BETWEEN 5001 AND 10000 THEN 'Medium'

WHEN salary > 10000 THEN 'High'

ELSE 'Unknown'

END AS salary_grade

FROM employees;

```

在这个例子中,我们根据员工的工资值来分配工资等级。如果工资小于或等于5000,工资等级为'Low';如果工资在5001到10000之间,工资等级为'Medium';如果工资大于10000,工资等级为'High'。对于不符合上述任何条件的员工,工资等级为'Unknown'。`AS salary_grade`是一个别名,用于在结果集中表示新的列名。

注意:`CASE WHEN`语句是顺序敏感的,第一个满足的条件会返回相应的结果,之后的条件将不再被评估。如果没有任何条件被满足,那么会返回`ELSE`部分的结果(如果存在的话)。如果没有`ELSE`部分且没有条件被满足,那么整个`CASE WHEN`表达式将返回NULL。

版权声明:本文由用户上传,如有侵权请联系删除!