sqlserver case when用法sql
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sqlserver case when用法sql
在SQL Server 中,`CASE WHEN` 语句用于实现条件逻辑,根据给定的条件返回不同的结果。
`CASE WHEN` 可以在`SELECT` 语句、`WHERE` 子句、`ORDER BY` 子句等中使用。
以下是一些基本的用法示例:
1. 在SELECT 语句中使用CASE WHEN:
```sql
SELECT
column1,
column2,
CASE
WHEN condition1 THEN 'Result1'
WHEN condition2 THEN 'Result2'
ELSE 'DefaultResult'
END AS ResultColumn
FROM
YourTable;
```
在这个例子中,根据不同的条件,`ResultColumn` 将返回不同的结果。
2. 在WHERE 子句中使用CASE WHEN:
```sql
SELECT
column1,
column2
FROM
YourTable
WHERE
CASE
WHEN condition1 THEN 1
WHEN condition2 THEN 1
ELSE 0
END = 1;
```
在这个例子中,`WHERE` 子句用于过滤满足条件的行。
3. 在ORDER BY 子句中使用CASE WHEN:
```sql
SELECT
column1,
column2
FROM
YourTable
ORDER BY
CASE
WHEN condition1 THEN column1
WHEN condition2 THEN column2
ELSE column3
END;
```
在这个例子中,`ORDER BY` 子句根据不同的条件对结果进行排序。
4. 使用CASE WHEN 进行计算:
```sql
SELECT
column1,
column2,
CASE
WHEN column3 > 50 THEN 'High'
WHEN column3 > 20 THEN 'Medium'
ELSE 'Low'
END AS Priority
FROM
YourTable;
```
在这个例子中,`CASE WHEN` 用于根据不同的条件计算新的列`Priority`。
注意,`CASE WHEN` 语句可以嵌套,也可以在任何支持条件表达式的地方使用。
请根据具体的业务需求和场景适当调整条件和结果。