mysql替换case when一列
时间: 2024-09-09 18:04:51 浏览: 41
MySQL中的`CASE`语句是一个条件表达式,类似于编程中的`if-else`语句。`CASE`语句可以在`SELECT`查询中用于替换列的值,根据指定的条件返回不同的结果。`CASE`语句有两种格式:简单格式和搜索格式。
简单格式的`CASE`语句语法如下:
```sql
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result_else
END
```
搜索格式的`CASE`语句语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result_else
END
```
在替换一列的值时,通常使用的是搜索格式。以下是一个使用`CASE`语句替换列值的例子:
假设有一个名为`orders`的表,其中有一个`status`列表示订单状态,你想根据状态显示不同的描述:
```sql
SELECT
order_id,
CASE
WHEN status = 'P' THEN 'Pending'
WHEN status = 'O' THEN 'Ordered'
WHEN status = 'S' THEN 'Shipped'
WHEN status = 'C' THEN 'Completed'
ELSE 'Unknown'
END AS status_description
FROM
orders;
```
在这个例子中,`status`列的每个值根据`CASE`语句的条件被替换成了更加易懂的描述,比如当`status`为'P'时,`status_description`列会显示为'Pending'。
阅读全文