case when函数怎么使用举例
时间: 2023-07-09 15:40:42 浏览: 48
在Oracle中,CASE WHEN函数可以根据条件返回不同的值。其语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件成立时返回的结果,default_result是当所有条件都不满足时返回的默认结果。
举个例子,如果我们要根据一个学生的分数返回其等级(优、良、中、差),可以使用如下SQL语句:
```sql
SELECT name, score,
CASE
WHEN score >= 90 THEN '优'
WHEN score >= 80 THEN '良'
WHEN score >= 60 THEN '中'
ELSE '差'
END AS grade
FROM student;
```
这个例子中,我们使用了CASE WHEN函数来根据学生的分数返回其等级。如果分数大于等于90分,则返回"优";如果分数大于等于80分,则返回"良";如果分数大于等于60分,则返回"中";如果分数小于60分,则返回"差"。
需要注意的是,CASE WHEN函数也可以嵌套使用,以实现更复杂的条件判断。
相关问题
ClickHouse 如何使用CASE WHEN函数
在 ClickHouse 中,你可以使用 `CASE WHEN` 函数来进行条件判断和分支选择。 `CASE WHEN` 函数可以根据条件的结果选择不同的值或执行不同的逻辑。
以下是一个示例,展示了如何使用 `CASE WHEN` 函数:
```sql
SELECT col1, col2,
CASE
WHEN col1 > 0 THEN 'Positive'
WHEN col1 < 0 THEN 'Negative'
ELSE 'Zero'
END AS col1_category
FROM table1
```
在这个查询中,我们选择了两个列 `col1` 和 `col2`。然后,我们使用 `CASE WHEN` 函数对 `col1` 进行条件判断。如果 `col1` 大于 0,则返回字符串 "Positive";如果 `col1` 小于 0,则返回字符串 "Negative";否则返回字符串 "Zero"。我们将结果命名为 `col1_category`。
在结果中,你将看到每行数据的 `col1_category` 列显示了根据条件判断得出的相应值。
除了简单的条件判断外,你还可以在 `CASE WHEN` 函数中嵌套其他函数、使用多个条件和分支。
希望这个示例能对你有所帮助!如果你还有其他问题,请随时提问。
case when函数
CASE WHEN函数是SQL中的一种条件表达式,用于根据给定的条件选择不同的结果。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,`condition1`、`condition2`等是条件表达式,`result1`、`result2`等是与条件对应的结果。它的逻辑是依次判断每个条件,如果满足条件则返回对应的结果,如果没有满足任何条件,则返回ELSE后面的结果。
CASE WHEN函数可以用于多种情况,比如根据不同的条件进行计算、分类或者赋值等操作。它在查询语句中经常用于根据不同的条件动态生成列值或者进行数据转换。