case when 多个条件写法
时间: 2024-11-28 13:11:21 浏览: 16
`CASE WHEN` 是SQL中的一种条件语句,用于根据给定的条件执行不同的操作。它通常用于创建动态的结果集,根据每个记录满足的条件返回不同的值。其基本语法如下:
```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`。如果不满足前面任何一个条件,可以指定一个默认结果 `default_result`。
例如,如果你有一个销售表,你想计算某个产品的销售额,可以根据产品类别有不同的处理方式:
```sql
SELECT
product_id,
CASE
WHEN category = 'Electronics' THEN sale_price * quantity
WHEN category = 'Clothing' THEN sale_price * 0.9 * quantity
ELSE 0
END AS total_sales
FROM sales;
```
在这个例子中,当产品类别为电子产品时,按原价乘以数量计算;如果是服装则打九折,其他情况则显示0。
相关问题
sql case when 多条件 写法
SQL的CASE WHEN语句可以处理多条件,可以使用嵌套或者逻辑运算符来实现。
以下是两种常见的多条件写法:
1. 嵌套CASE WHEN语句:
```
SELECT column1,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END AS new_column
FROM table_name;
```
2. 逻辑运算符:
```
SELECT column1,
CASE
WHEN condition1 AND condition2 THEN result1
WHEN condition3 OR condition4 THEN result2
...
ELSE default_result
END AS new_column
FROM table_name;
```
在这两种写法中,可以使用多个WHEN条件和一个ELSE条件,ELSE条件是可选的,用于处理未满足任何WHEN条件的情况。需要注意的是,条件的顺序很重要,因为只有第一个满足条件的结果会被返回。
Case when语句多when写法
当需要对多个条件进行判断时,可以使用多个when语句的写法。示例如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
ELSE default_result
END
```
其中,condition1、condition2、condition3为判断条件,result1、result2、result3为对应条件成立时的结果,default_result为所有条件都不成立时的默认结果。可以根据实际情况增加或删除when语句。
阅读全文