mysql if 和case when
时间: 2024-05-08 10:14:16 浏览: 79
MySQL中的IF和CASE WHEN是两种常见的条件判断语句,可以用于根据某个条件来决定执行的语句或返回的结果。
IF语句的语法格式如下:
```
IF(condition, true_value, false_value)
```
其中,condition是一个条件表达式,true_value和false_value分别是满足和不满足条件时返回的值。如果condition为真,则返回true_value,否则返回false_value。
CASE WHEN语句的语法格式如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE default_result
END
```
其中,expression是需要进行判断的表达式,value1、value2等是不同的取值,result1、result2等是对应的结果。如果expression的值等于某个value,则返回对应的result值;如果都不匹配,则返回default_result。
举个例子,假设我们有一个用户表user,其中有一个字段age表示用户的年龄。现在我们需要查询用户的信息,并根据年龄来判断用户的类别(年轻、中年、老年),则可以使用如下SQL语句:
```
SELECT name, age,
CASE
WHEN age < 30 THEN 'young'
WHEN age >= 30 AND age < 60 THEN 'middle-aged'
ELSE 'old'
END AS category
FROM user;
```
这条SQL语句会查询用户表中所有用户的姓名、年龄和类别,并根据不同的年龄段来分为年轻、中年和老年三类,并通过AS关键字指定类别字段的别名为category。
阅读全文