mysql CASE WHEN
时间: 2023-07-06 13:39:07 浏览: 46
MySQL中的CASE WHEN语句是一种条件语句,可以根据不同的情况返回不同的结果。其基本语法如下:
```sql
SELECT
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE else_result
END
FROM table_name
```
其中,expression是需要进行判断的表达式,value1、value2等是expression可能的取值,result1、result2等是对应value1、value2等取值的返回结果,else_result是当上述所有条件不满足时的默认返回结果。
另外,CASE WHEN语句还可以使用简化的语法,如下所示:
```sql
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE else_result
END
FROM table_name
```
其中,condition1、condition2等是需要判断的条件,result1、result2等是对应condition1、condition2等为真时的返回结果,else_result是当上述所有条件都为假时的默认返回结果。
相关问题
mysql case when
MySQL CASE WHEN statement is a conditional statement that evaluates multiple conditions and returns a value based on the first condition that is true.
The basic syntax for the MySQL case when statement is as follows:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE default_result
END
```
Here is an example of how to use the MySQL case when statement:
```
SELECT first_name, last_name,
CASE
WHEN age < 18 THEN 'Minor'
WHEN age BETWEEN 18 AND 65 THEN 'Adult'
ELSE 'Senior'
END AS age_group
FROM customers;
```
In this example, we are selecting the first name, last name, and age group of customers from the customers table. We use the MySQL case when statement to evaluate the age of each customer and assign them to an age group based on their age. If the customer is under 18, they are assigned to the 'Minor' group, if they are between 18 and 65, they are assigned to the 'Adult' group, and if they are over 65, they are assigned to the 'Senior' group.
The resulting output would look something like this:
```
+------------+-----------+-----------+
| first_name | last_name | age_group |
+------------+-----------+-----------+
| John | Doe | Adult |
| Jane | Smith | Senior |
| Bob | Johnson | Minor |
| Sarah | Lee | Adult |
+------------+-----------+-----------+
```
Mysql case when
MySQL CASE WHEN语句可以用于在SQL查询中执行条件逻辑。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,`condition1`、`condition2`等是条件表达式,`result1`、`result2`等是对应条件表达式成立时的结果。如果所有条件都不成立,则返回`ELSE`后面的`result`。
例如,下面的查询将根据`price`列的值返回`cheap`、`moderate`或`expensive`:
```
SELECT name, price,
CASE
WHEN price < 50 THEN 'cheap'
WHEN price < 100 THEN 'moderate'
ELSE 'expensive'
END AS price_range
FROM products;
```
这个查询将返回一个包含`name`、`price`和`price_range`列的结果集,其中`price_range`列是根据`price`列的值计算出来的。