MySQL中写判断语句的解决办法

2022-11-12 09:15:22
内容摘要
这篇文章主要为大家详细介绍了MySQL中写判断语句的简单示例,具有一定的参考价值,可以用来参考一下。 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! mysql中写判断语句
文章正文

这篇文章主要为大家详细介绍了MySQL中写判断语句的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随数据库教程的小编来看看吧!

mysql中写判断语句的方法:

方法一.CASE函数

case函数语法:

代码如下:


CASE condition
WHEN value1 THEN returnvalue1
WHEN value2 THEN returnvalue2
WHEN value3 THEN returnvalue3
……
ELSE defaultvalue
END

MySQL中写判断语句的方法总结

举例:

代码如下:


SELECT username,(CASE sex WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '未知' END) as sex FROM user;

MySQL中写判断语句的方法总结

查询结果如图:

方法二.IF()函数

CASE函数可以实现非常复杂的逻辑判断,实现满足条件就A,否则就B这样简单的判断逻辑的话,CASE函数就显得臃肿。MYSQL提供了IF()函数用于简化这种逻辑判断,其语法格式如下:IF(condition,A,B)

如果condition条件为真,就返回A,否则返回B。所以如果有多个条件,就无法使用IF函数。IF()返回一个数字或字符串。

代码如下:


select username,if(sex=1,'男','女') as sex from user;

MySQL中写判断语句的方法总结

查询结果如图:

可以看到,username为zhangsan的显示性别为女,因为我们条件是sex=1为男,其它都会女。所以IF函数用于只有两种情况的判断。mysql还有一个IFNULL(value1,value2)函数,这个函数一般用来替换NULL值的,我们知道NULL值是不能参与数值运算的。

方法三.字符串操作ELT()

语法:

ELT(N,str1,str2,str3,...)

如果 N = 1,返回 str1,如果N = 2,返回 str2,等等。如果 N 小于 1 或大于参数的数量,返回 NULL。

代码如下:


SELECT username,ELT(sex,'男','女','未知') as sex FROM user

MySQL中写判断语句的方法总结

查询结果如图:

内容扩展:

mysql条件判断语句

业务场景中,比如一个用户有几种状态(1:有效、2:无效、3:其他),这时候查询就需要用到条件语句。

语法:

代码如下:


CASE 字段
 WHEN `条件1` THEN `结果1`
 WHEN `条件2` THEN `结果2`
 WHEN ...
 ELSE `其他结果`
END

MySQL中写判断语句的方法总结

示例:

代码如下:


SELECT id,name,
(CASE status
	WHEN 1 THEN '有效' 
	WHEN 2 THEN '无效' 
ELSE '其他' 
END) AS status 
FROM user

MySQL中写判断语句的方法总结

到此这篇关于mysql中写判断语句的方法总结的文章就介绍到这了,更多相关mysql中如何写判断语句内容请搜索512笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持512笔记!

注:关于MySQL中写判断语句的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!