mysql中if多重判断使用
背景描述
我们平常在使用MySQL的时候,因为if只能判断两种状态,例如if(1>2,1,2)就是说,如果1大于2则返回1,否则返回1。但是我们的业务通常有好几种状态需要来判断,这时候if两种状态不能满足我们的需求, 因此我们需要使用if嵌套if语句来实现多状态的需求,表达式为IF(expr1,expr2,IF(expr1,expr2,IF(expr1,expr2,expr3)))
业务需求
我一个表中的字段有三个状态,0代表未完成,1代表已完成,null代表还没有做,因此我需要在sql中判断这个三个关系,我们java中有if()else if()…else()语句来写多重判断,但是MySQL中只有一个if或者ifnull,显然不能满足我们实际的需求,因此我们就想着,能把if多重嵌套就好了,这样的话就会和java中的if(){}else if(){}…else{}一样了。
sql实现
select if(ct.check_result = 0, '不合格',if(ct.check_result is null, '未检测', if(ct.check_result = 1, '合格', '未知'))) as checkResult,if(tl.revert_statue = 0, '未借出', if(tl.revert_statue is null, '目前没有借用',if(tl.revert_statue = 1, '已还', '未知'))) as lendStstue,if(tl.lend_statue = 0, '未借出', if(tl.lend_statue is null, '目前没有借用',if(tl.lend_statue = 1, '已借出', '未知'))) as lendStstue,ct.first_check_time
from lhm_check_tool_b ctleft join lhm_check_tool_lend_b tl on ct.id = tl.check_tool_id
where ct.id=1
总结
我们再平常的sql语句书写时,要结合我们学过的其他语言进行对比,然后利用其它语言的用法来反馈到我们的sql语言上,利用他们的用法来给我们做启发,因而我们就能根据sql语言的特性进行扩展,然后写出自己想要的sql语句来!
mysql中if多重判断使用相关推荐
- .net一个函数要用另一个函数的值_【195期】MySQL中的条件判断函数 CASE WHEN、IF、IFNULL你会用吗?...
点击上方"Java面试题精选",关注公众号 面试刷图,查缺补漏 >>号外:往期面试题,10篇为一个单位归置到本公众号菜单栏->面试题,有需要的欢迎翻阅 阶段汇总集 ...
- mysql中where条件判断语句_MySQL Where 条件语句介绍和运算符小结
WHERE 条件 有时候操作数据库时,只操作一些有条件限制的数据,这时可以在SQL语句中添加WHERE子句来规定数据操作的条件. 语法: SELECT column,- FROM tb_name WH ...
- MySQL中的条件判断函数 CASE WHEN、IF、IFNULL你会用吗?
前言 参考文章:https://mp.weixin.qq.com/s?__biz=MzIyNDU2ODA4OQ==&mid=2247486529&idx=1&sn=6d5cd7 ...
- MYSQL中查询怎么判断一个字段包含英文?
SELECT * from 表名 where `字段名` REGEXP '[a-z]+' 查询出的就是这个字段里包含字母的数据了
- mysql加上判断_在mysql中where加if判断
在mysql中where中多重条件if判断,项目需求如下: 好友关系中本身具有A,B,C三种角色,好友动态分为1,2,3,4,5种类型.A是必须具有的角色,如果具有A角色可查好友动态类型1,3,4 的 ...
- ThinkPHP 3.2.2 在 volist 多重循环嵌套中使用 if 判断标签
今天在 ThinkPHP 3.2.2 的试图模板中使用多重循环,用来把相应类别下对应的文章都依次循环出来,但是无论如何只能循环出类别,类别下的文章无法循环出,( 错误 ) 代码如下: <voli ...
- mysql中判断字段为空
mysql中判断字段为null或者不为null 在mysql中,查询某字段为空时,切记不可用 = null, 而是 is null,不为空则是 is not null select nulcolumn ...
- MySql中怎样使用case-when实现判断查询结果返回
场景 在对Mysql中的数据查询时,某些字段比如是否怎样样,在数据库中存储的是0和1. 如果想在查询时根据值是0和1进而返回是和否怎样编写查询语句. 注: 博客: https://blog.csdn. ...
- mysql 当前用户连接数_实战:判断mysql中当前用户的连接数-分组淘选
实战:判断mysql中当前用户的连接数-分组筛选 #connets.sh #!/bin/sh #ocpyang@126.com #根据输入参数u或d来显示出对应的用户名或数据库名中用户的连接数. #也 ...
- java怎么判断mysql中是否存在我们查找的索引_10张图告诉你,MySQL 是如何查找数据的?...
在我们日常生活中经常会涉及到查找某个东西的场景,就比如说在一个学校里吧,我们想找出个子"最高的10个"同学,或者想查找姓名是"张三"的同学,又或者是查找学号是& ...
最新文章
- android调试推荐使用BlueStacks模拟器调试Android应用
- salt盐度与用户密码加密机制
- Flask项目--注册
- PHP学习笔记--函数
- 基于单片机烟雾温湿度甲醛监测设计
- 用一套鼠标键盘控制两台或多台电脑
- 有氧运动存在哪些误区
- 字节跳动社招校招实习内推提前批
- 计算机进入低能耗休眠状态,BIOS电源管理ACPI的D3cold-D3hot
- stm32 c语言运行速度,stm32F7,cache,tcm及运行速度问题
- 高通Android display分析【转】
- Jenkins 汉化
- Unity3D中UGUI的RectTransform对齐方式详解
- 《Python全栈系列教程》目录
- java mysql点赞功能_用Java做一个类似于微博QQ空间点赞的功能-Fun言
- 基于mahout的动漫推荐系统
- 什么云服务器比较好?大家用过哪家?
- Unix/Linux fork后传-clone
- 西数首款PCIe M.2黑盘上市:最大连续读写速度2050MB/s
- M1 Mac使用PD虚拟机配合VSC代替Keil烧录MM32单片机