sqlserver update语句使用case when then
时间: 2023-08-26 20:07:21 浏览: 199
CASE的用法 (Transact-SQL)
在SQL Server中,你可以使用CASE WHEN THEN语句在UPDATE语句中根据条件更新列的值。以下是使用CASE WHEN THEN的UPDATE语句示例:
```sql
UPDATE table_name
SET column_name =
CASE
WHEN condition1 THEN value1
WHEN condition2 THEN value2
...
ELSE default_value
END
WHERE condition;
```
在上面的示例中,table_name是要更新的表名,column_name是要更新的列名,condition1、condition2等是要进行判断的条件,value1、value2等是根据条件满足时要设置的新值,default_value是当所有条件都不满足时要设置的默认值,WHERE条件用于指定要更新的行。
下面是一个具体的示例,假设有一个名为Students的表,包含学生的姓名和年龄字段。我们要将年龄大于等于18岁的学生的姓名设置为"成年人",年龄小于18岁的学生的姓名设置为"未成年人":
```sql
UPDATE Students
SET name =
CASE
WHEN age >= 18 THEN '成年人'
ELSE '未成年人'
END
WHERE age IS NOT NULL;
```
以上UPDATE语句将根据年龄的条件将学生的姓名更新为相应的描述。
希望这个示例能够帮助你理解在SQL Server中如何使用CASE WHEN THEN在UPDATE语句中进行条件更新。
阅读全文