mysql中写判断语句的方法总结
mysql中写判断语句的方法:
方法一.CASE函数
case函数语法:
CASE condition WHEN value1 THEN returnvalue1 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中如何写判断语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
浅谈mysql中concat函数,mysql在字段前/后增加字符串
下面小编就为大家带来一篇浅谈mysql中concat函数,mysql在字段前/后增加字符串。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-02-02Navicat远程连接SQL Server并转换成MySQL步骤详解
最近遇到一个需求是将SQL Server转换为 MySQL的格式,由于不想在本地安装 SQL Server,所以决定在远程的 Windows 服务器上安装,并在本地使用Navicat远程连接它,然而在实现过程中遇到了诸多问题,记录于此。感兴趣的朋友们下面来一起学习学习吧。2017-01-01
最新评论