admin 管理员组文章数量: 1184232
2024年5月15日发(作者:java throw exception)
mysql中when用法_MySQL中casewhen的基本用法总结
MySQL中的CASEWHEN语句是一种条件表达式,它可以根据不同的条
件选择不同的操作或返回不同的值。它的基本语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,`condition1`、`condition2`等为条件,`result1`、
`result2`等为结果。可以根据需要设置多个条件和结果。
下面是MySQL中CASEWHEN语句的基本用法总结。
1.简单用法:CASEWHEN语句可以用于简单的条件判断,例如将一个
字段的值根据不同的条件映射成不同的结果。
```sql
SELECT CASE WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE'不及格'
END AS grade
FROM students;
```
2.多重条件:可以根据多个条件进行判断,按照条件的顺序,满足条
件则执行对应的结果,可以设置多个条件和结果。
```sql
SELECT CASE WHEN gender = 'M' AND age > 30 THEN '男性中年人'
WHEN gender = 'M' THEN '男性'
WHEN gender = 'F' AND age > 30 THEN '女性中年人'
WHEN gender = 'F' THEN '女性'
ELSE'未知'
END AS category
FROM students;
```
3.同时使用条件和计算:CASEWHEN语句还可以结合其他函数和运算
符进行计算,例如对字段值进行加减乘除等操作后再进行判断。
```sql
SELECT CASE WHEN score - 10 > 90 THEN '优秀'
WHEN score - 10 > 80 THEN '良好'
WHEN score - 10 > 60 THEN '及格'
ELSE'不及格'
END AS grade
FROM students;
```
EN语句作为表达式:CASEWHEN语句还可以作为其他表达式
的一部分使用,例如在SELECT语句中计算字段的值。
```sql
SELECT name, age,
CASE WHEN score >= 60 THEN '及格'
ELSE'不及格'
END AS result
FROM students;
```
EN语句的嵌套:CASEWHEN语句也可以进行嵌套,根据不同
的条件和结果进行多层次的判断。
```sql
SELECT CASE WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE CASE WHEN score >= 40 THEN '需要努力'
ELSE'不及格'
END
END AS grade
FROM students;
```
需要注意的是CASEWHEN语句的条件和结果可以是任意的,可以是常
量、字段、表达式、函数等等。
版权声明:本文标题:mysql中when用法_MySQL中casewhen的基本用法总结 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1715782486a688959.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论