sqlserver case when then else end用法
时间: 2024-09-13 22:09:10 浏览: 63
SQL Server 的 `CASE` 表达式是一种条件选择结构,用于根据指定的条件返回不同的值。它的基本语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
[ ELSE default_result ]
END
```
这里解释一下各个部分:
- `WHEN condition1 THEN result1`: 如果 `condition1` 成立,将返回 `result1`。可以有一个或多个这样的 `WHEN` 子句。
- `ELSE default_result`: 如果所有 `WHEN` 条件都不满足,则会执行 `ELSE` 后面的 `default_result`。这是可选的,如果不提供默认结果,当所有条件都不满足时,不会返回任何值。
例如,如果你有一个用户表,你想根据他们的年龄分为儿童、成人和老人:
```sql
SELECT
Name,
CASE
WHEN Age < 18 THEN '儿童'
WHEN Age BETWEEN 18 AND 60 THEN '成人'
ELSE '老人'
END AS UserCategory
FROM Users;
```
在这个例子中,如果用户的年龄小于18岁,就会显示他们是儿童,以此类推。
相关问题
sql server的case when then else end函数
SQL Server中的CASE函数可用于根据条件执行不同的逻辑。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
```
其中,`condition1`、`condition2`等是条件表达式,`result1`、`result2`等是根据条件返回的结果。以下是一个示例:
```
SELECT column1, column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END AS new_column
FROM table;
```
你可以根据具体的需求在`WHEN`子句中添加多个条件和结果。如果没有匹配到任何条件,将返回`ELSE`后面的结果。希望这能解答你的问题!如果你有更多疑问,欢迎继续提问。
sql server case when then用法
SQL Server 的 CASE WHEN THEN 语句用于在执行查询时根据条件返回不同的值。
基本语法如下:
```
SELECT
column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
ELSE result
END
FROM
table_name;
```
其中:
- column_name:要查询的列名。
- condition1、condition2、condition3...:条件表达式,可以是任何有效的 SQL 表达式。
- result1、result2、result3...:当对应的条件表达式为真时返回的值。
- ELSE result:当所有条件都不为真时返回的值。
例如,假设我们有一个名为 employees 的表,其中包含员工的姓名和薪水。我们想要查询每个员工的薪水,但是如果薪水大于 5000,则将其标记为“高薪”,否则标记为“普通薪”。可以使用以下查询:
```
SELECT
name,
CASE
WHEN salary > 5000 THEN '高薪'
ELSE '普通薪'
END AS salary_type
FROM
employees;
```
这将返回一个包含每个员工姓名和薪水类型的结果集,其中薪水大于 5000 的员工标记为“高薪”,否则标记为“普通薪”。
阅读全文