mysql 中 updatecase when
时间: 2024-04-26 16:19:18 浏览: 15
在MySQL中,UPDATE CASE WHEN语句用于根据条件更新表中的数据。它可以根据满足特定条件的行来更新表中的列值。
语法如下:
```
UPDATE 表名
SET 列名 = CASE
WHEN 条件1 THEN 值1
WHEN 条件2 THEN 值2
...
ELSE 默认值
END
WHERE 条件;
```
其中,表名是要更新的表的名称,列名是要更新的列的名称。CASE WHEN语句用于指定条件和对应的值。可以根据需要添加多个WHEN条件。ELSE子句用于指定当没有条件满足时的默认值。WHERE子句用于指定更新的行。
以下是一个示例:
假设有一个名为students的表,其中包含id、name和score三列。我们想要将分数大于80的学生的姓名改为"优秀",分数小于60的学生的姓名改为"不及格",其他学生的姓名保持不变。
```
UPDATE students
SET name = CASE
WHEN score > 80 THEN '优秀'
WHEN score < 60 THEN '不及格'
ELSE name
END;
```
这个例子中,根据分数的不同条件,使用CASE WHEN语句更新了name列的值。
相关问题
mysql中case when语句
MySQL中的CASE WHEN语句是一种条件表达式,用于根据不同的条件执行不同的操作。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,`condition1`、`condition2`等是条件表达式,`result1`、`result2`等是对应条件为真时的结果。如果所有条件都不满足,则返回`ELSE`后面的结果。
下面是一个示例,展示了如何使用CASE WHEN语句在MySQL中进行条件判断:
```
SELECT
column1,
column2,
CASE
WHEN column3 > 10 THEN '大于10'
WHEN column3 > 5 THEN '大于5'
ELSE '其他'
END AS result
FROM
table_name;
```
在上述示例中,根据列`column3`的值,如果大于10,则返回'大于10';如果大于5,则返回'大于5';否则返回'其他'。这样可以根据不同的条件给出不同的结果。
MySQL中case when
在MySQL中,CASE WHEN语句用于在查询中根据某些条件选择不同的结果。它的基本语法是:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
其中,condition1、condition2等是要评估的条件,result1、result2等是满足相应条件时返回的结果。当满足某一个条件后,该条件下的结果将被返回,并且后续条件将不再被考虑。如果没有任何条件满足,将返回ELSE后的结果。
例如,假设我们有一个名为tdb_goods_types的表,其中包含parent_id、type_id和type_name字段。我们可以使用CASE WHEN语句来根据parent_id的不同值,将其转换为不同的值并将其作为新的parent_id_new列返回,如下所示:
SELECT
CASE parent_id
WHEN 0 THEN '00'
WHEN 1 THEN '11'
ELSE 'OTHERS'
END AS parent_id_new,
parent_id,
type_id,
type_name
FROM tdb_goods_types
[3]
这样,我们就可以根据不同的条件在查询中使用CASE WHEN语句来得到我们想要的结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [MySQL 的CASE WHEN 语句使用说明](https://blog.csdn.net/lkx021699/article/details/120543003)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [mysql中case when的用法](https://blog.csdn.net/u010147215/article/details/124529659)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]