case when where
时间: 2023-12-16 15:28:10 浏览: 71
CASE WHEN语句可以在WHERE条件中作为条件之一,也可以在SELECT语句中作为结果。在WHERE条件中,CASE WHEN语句的结果和1进行比较,如果相等则表示条件满足,即进行过滤。在SELECT语句中,CASE WHEN语句可以根据条件返回不同的结果。下面是两个例子:
1.在WHERE条件中使用CASE WHEN语句作为条件之一
```sql
SELECT * FROM table_name
WHERE CASE WHEN condition_1 THEN 1
WHEN condition_2 THEN 1
ELSE 0
END = 1
AND condition_3 = 'xxx';
```
其中,condition_1和condition_2表示需要满足的条件,如果满足其中之一,则将CASE WHEN语句的结果设为1,否则设为0。如果CASE WHEN语句的结果等于1,并且condition_3等于'xxx',则将该行数据返回。
2.在SELECT语句中使用CASE WHEN语句作为结果
```sql
SELECT column_1, column_2,
CASE WHEN condition_1 THEN 'A'
WHEN condition_2 THEN 'B'
ELSE 'C'
END AS result
FROM table_name
WHERE condition_3 = 'xxx';
```
其中,condition_1和condition_2表示需要满足的条件,如果满足其中之一,则将CASE WHEN语句的结果设为'A'或'B',否则设为'C'。将结果命名为result并返回。
阅读全文