sql case when 多条件 写法
时间: 2023-06-28 17:09:15 浏览: 67
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条件的情况。需要注意的是,条件的顺序很重要,因为只有第一个满足条件的结果会被返回。
相关问题
带传入值的sql case when 多条件 写法
下面是带传入值的 SQL Case When 多条件写法的示例:
```sql
SELECT
CASE
WHEN column_name = value1 THEN result1
WHEN column_name = value2 THEN result2
ELSE default_result
END
FROM table_name
WHERE condition = input_value;
```
其中,`column_name` 是用于比较的列名,`value1`、`value2` 等是要比较的值,`result1`、`result2` 等是对应的结果,`default_result` 是如果没有匹配到任何条件时的默认结果。`input_value` 是传入的值,`condition` 则是用于比较的条件。
例如,假设有一个表 `students` 包含学生的姓名和分数,现在需要根据输入的学生姓名来返回对应的分数,可以使用以下 SQL 语句:
```sql
SELECT
CASE
WHEN name = 'Tom' THEN score
WHEN name = 'Jerry' THEN score
ELSE 0
END
FROM students
WHERE name = 'Tom';
```
这里,如果输入的学生姓名是 `'Tom'` 或 `'Jerry'`,则返回对应的分数 `score`;否则返回默认值 `0`。同时,只返回学生姓名为 `'Tom'` 的记录。
mysql sql case when写法
MySQL中的CASE WHEN语句是一种条件表达式,用于根据不同的条件执行不同的操作。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件满足时的结果。ELSE子句是可选的,用于指定当所有条件都不满足时的默认结果。
下面是一个示例,展示了如何使用CASE WHEN语句进行条件判断:
```
SELECT
column1,
column2,
CASE
WHEN column3 > 10 THEN '大于10'
WHEN column3 > 5 THEN '大于5'
ELSE '其他'
END AS result
FROM
table_name;
```
在上述示例中,根据column3的值进行条件判断,并将结果存储在名为result的列中。
阅读全文