mysql中写判断语句的⽅法总结
mysql中写判断语句的⽅法:
⽅法⼀.CASE函数
case函数语法:
CASE condition
WHEN value1 THEN returnvalue1简单的mysql语句
WHEN value2 THEN returnvalue2
WHEN value3 THEN returnvalue3
……
ELSE defaultvalue
END
举例:
SELECT 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()返回⼀个数字或字符串。select 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。
SELECT username,ELT(sex,'男','⼥','未知') as sex FROM user
查询结果如图:
内容扩展:
mysql条件判断语句
业务场景中,⽐如⼀个⽤户有⼏种状态(1:有效、2:⽆效、3:其他),这时候查询就需要⽤到条件语句。
语法:
CASE 字段
WHEN `条件1` THEN `结果1`
WHEN `条件2` THEN `结果2`
WHEN ...
ELSE `其他结果`
END
⽰例:
SELECT id,name,
(CASE status
WHEN 1 THEN '有效'
WHEN 2 THEN '⽆效'
ELSE '其他'
END) AS status
FROM user
到此这篇关于mysql中写判断语句的⽅法总结的⽂章就介绍到这了,更多相关mysql中如何写判断语句内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!