sql语句中case when 是用来干嘛的
时间: 2023-10-21 08:20:17 浏览: 128
在 SQL 语句中,CASE WHEN 子句是一种条件语句,它用于根据给定的条件返回不同的结果。它通常用于 SELECT 语句中,以根据一些条件对结果进行分类和汇总。具体来说,它允许你根据一个或多个条件来检查数据,并在满足条件时返回特定的值或执行特定的操作。例如,你可以使用 CASE WHEN 子句来创建一个计算列,该列根据一定的规则来确定每个行的值,或者你可以将其用于 WHERE 子句中以过滤数据。其语法通常如下:
```
SELECT column1, column2, ...,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END
FROM table_name;
```
其中,condition1, condition2,...,conditionN 是指检查数据的条件,result1, result2,...,resultN 是满足条件时返回的值,ELSE 关键字后面的 result 是指当所有条件都不满足时返回的默认值。
相关问题
SQL语句中 case when用法
可以用于根据条件返回不同的结果,例如:
SELECT
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS result
FROM
student_scores;
sql语句中case when用法
在SQL语句中,CASE WHEN函数可以根据条件返回不同的值。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,`condition`是一个条件表达式,`result`是一个返回值。如果`condition`为真,则返回`result`。如果没有任何一个`condition`为真,则返回`ELSE`后面的`result`。下面是一个例子:
```
SELECT name,
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age < 30 THEN '青年'
WHEN age >= 30 AND age < 50 THEN '中年'
ELSE '老年'
END AS age_group
FROM users;
```
这个例子中,我们根据用户的年龄将用户分为不同的年龄段,并将结果保存在`age_group`列中。
除了上面的基本语法,CASE WHEN函数还可以使用其他的操作符,比如`BETWEEN`、`LIKE`、`IN`等等。下面是一个例子:
```
SELECT name,
CASE
WHEN age BETWEEN 18 AND 30 THEN '青年'
WHEN age LIKE '%0' THEN '年龄以0结尾'
WHEN age IN (25, 30, 35) THEN '特殊年龄'
ELSE '其他'
END AS age_group
FROM users;
```
这个例子中,我们使用了`BETWEEN`、`LIKE`、`IN`等操作符来判断用户的年龄,并将结果保存在`age_group`列中。
阅读全文