各位用户为了找寻关于mysql中写判断语句的方法总结的资料费劲了很多周折。这里教程网为您整理了关于mysql中写判断语句的方法总结的相关资料,仅供查阅,以下为您介绍关于mysql中写判断语句的方法总结的详细内容
mysql中写判断语句的方法:
方法一.CASE函数
case函数语法:
? 1 2 3 4 5 6 7CASE
condition
WHEN
value1
THEN
returnvalue1
WHEN
value2
THEN
returnvalue2
WHEN
value3
THEN
returnvalue3
……
ELSE
defaultvalue
END
举例:
? 1SELECT
username,(
CASE
sex
WHEN
1
THEN
'男'
WHEN
2
THEN
'女'
ELSE
'未知'
END
)
as
sex
FROM
user
;
查询结果如图:
方法二.IF()函数
CASE函数可以实现非常复杂的逻辑判断,实现满足条件就A,否则就B这样简单的判断逻辑的话,CASE函数就显得臃肿。MYSQL提供了IF()函数用于简化这种逻辑判断,其语法格式如下:IF(condition,A,B)
如果condition条件为真,就返回A,否则返回B。所以如果有多个条件,就无法使用IF函数。IF()返回一个数字或字符串。
? 1select
username,if(sex=1,
'男'
,
'女'
)
as
sex
from
user
;
查询结果如图:
可以看到,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。
? 1SELECT
username,ELT(sex,
'男'
,
'女'
,
'未知'
)
as
sex
FROM
user
查询结果如图:
内容扩展:
mysql条件判断语句
业务场景中,比如一个用户有几种状态(1:有效、2:无效、3:其他),这时候查询就需要用到条件语句。
语法:
? 1 2 3 4 5 6CASE
字段
WHEN
`条件1`
THEN
`结果1`
WHEN
`条件2`
THEN
`结果2`
WHEN
...
ELSE
`其他结果`
END
示例:
? 1 2 3 4 5 6 7SELECT
id,
name
,
(
CASE
status
WHEN
1
THEN
'有效'
WHEN
2
THEN
'无效'
ELSE
'其他'
END
)
AS
status
FROM
user
到此这篇关于mysql中写判断语句的方法总结的文章就介绍到这了,更多相关mysql中如何写判断语句内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
原文链接:https://www.cnblogs.com/yqzc/p/12491790.html