case when and else
时间: 2024-10-08 07:08:50 浏览: 15
在SQL中,`CASE WHEN` 结构是一种条件表达式,用于根据特定条件返回不同的值。它允许你在查询结果集中根据某个条件对数据进行分段处理。基本语法如下:
```sql
CASE
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
[ ELSE default_result ]
END
```
在这个结构里,`condition_1` 和 `condition_2` 是布尔表达式,如果它们为真,则分别返回相应的 `result_1` 或 `result_2`。如果所有条件都不满足,可以包含一个 `ELSE` 子句,指定当所有条件都不成立时返回的默认结果。
例如,如果你有一个订单表,你想根据订单状态返回不同的描述:
```sql
SELECT
order_id,
CASE
WHEN status = 'Completed' THEN '已完成'
WHEN status = 'Cancelled' THEN '已取消'
ELSE '待处理'
END AS order_status_description
FROM orders;
```
在这个例子中,如果订单状态是'Completed',则显示'已完成',如果是'Cancelled',显示'已取消',其他状态则显示'待处理'。
阅读全文