case when ... then ... else ... end
时间: 2023-07-23 14:11:25 浏览: 105
"Case" 是 SQL 的一种语句,用于执行条件判断。
它的语法为:CASE [expression] WHEN [condition1] THEN [result1] WHEN [condition2] THEN [result2] ELSE [result3] END。
其中 expression 是要判断的值,condition1、condition2 分别是条件1和条件2,result1、result2 分别是条件1和条件2成立时要返回的值,ELSE 后面的 result3 是在所有条件都不成立时要返回的值。
如:
CASE
WHEN [Age]>18 THEN "Adult"
WHEN [Age]<=18 THEN "Child"
ELSE "Invalid"
END
这个语句就是判断 Age 字段值是否大于 18,如果大于则返回 Adult,小于等于则返回 Child, 否则返回 Invalid.
相关问题
mysql update 条件_mysql update语句中 条件控制case when...then...else...end
MySQL的UPDATE语句可以使用CASE语句来指定条件控制。CASE语句提供了一种在UPDATE语句中使用条件语句的方式。
下面是一个使用CASE语句的MySQL UPDATE语句的例子:
```
UPDATE mytable
SET column1 = CASE
WHEN column2 = 'value1' THEN 'newvalue1'
WHEN column2 = 'value2' THEN 'newvalue2'
ELSE column1
END
WHERE column3 = 'somevalue';
```
这个例子中,我们更新了一个名为 `mytable` 的表,将 `column1` 的值更改为根据 `column2` 的值计算出的新值。如果 `column2` 的值等于 `value1`,则将 `column1` 的值更改为 `newvalue1`,如果 `column2` 的值等于 `value2`,则将 `column1` 的值更改为 `newvalue2`。如果 `column2` 的值不等于 `value1` 或 `value2`,则保留 `column1` 的当前值。UPDATE语句只更新 `column3` 的值等于 `somevalue` 的行。
使用CASE语句可以提供更复杂的条件控制,以便根据需要更新表中的数据。
case...when
在SQL中,CASE WHEN语句是一种条件表达式,用于根据不同的条件执行不同的操作或返回不同的值。它可以在SELECT、UPDATE和DELETE语句中使用。
1. 使用CASE WHEN语句的基本语法如下:
```sql
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件为真时返回的结果,default_result是当所有条件都不满足时返回的默认结果。
2. 简单CASE函数的语法如下:
```sql
CASE column_name
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE default_result
END
```
其中,column_name是要比较的列名,value1、value2等是列中可能的值,result1、result2等是对应值相等时返回的结果,default_result是当列的值与所有条件都不匹配时返回的默认结果。
下面是一个示例:
```sql
SELECT column_name,
CASE WHEN column_name = value1 THEN 'result1'
WHEN column_name = value2 THEN 'result2'
ELSE 'default_result'
END AS new_column
FROM table_name;
```
阅读全文