在查询语句中,我们可能会遇到使用条件判断函数的情况,今天记录一下条件判断函数的使用。

名称 具体作用
IF(EXPR ,V1,V2) 如果满足条件返回第一个值,否则返回第二个
IFNULL(V1,V2) 为空时返回第一个,不为空返回第二个
CASE  WHEN EXP1 THEN V1  WHEN EXP2 THEN V2  ELSE V3 根据具体数据判断符合哪一个条件并返回符合条件的对应的值,例如:满足EXP1就返回V1

实例:

select id ,username ,score , if (score>60,'及格','不及格') as '考核' from student;| id | username | score | 考核   |
+----+----------+-------+--------+
|  1 | king     |    95 | 及格   |
|  2 | king1    |    25 | 不及格 |
|  3 | king2    |    30 | 不及格 |
|  4 | king3    |    35 | 不及格 |
|  5 | king4    |    50 | 不及格 |
|  6 | king5    |    55 | 不及格 |
|  7 | king6    |    80 | 及格   |
|  8 | king7    |    90 | 及格   |
|  9 | king8    |    25 | 不及格 |
| 10 | king9    |    45 | 不及格 |
+----+----------+-------+--------+select id ,username ,age , ifnull(age,'空') from cms_user;+----+----------+------+------------------+
| id | username | age  | ifnull(age,'空') |
+----+----------+------+------------------+
|  1 | 张三     |   21 | 21               |
|  2 | 张三丰   |   31 | 31               |
|  3 | 章子怡   |   43 | 43               |
|  4 | long     |   41 | 41               |
|  6 | queen    |   66 | 66               |
|  7 | king     |   22 | 22               |
|  8 | blek     |   53 | 53               |
|  9 | rose     |    9 | 9                |
| 10 | lily     |   39 | 39               |
| 11 | john     |   72 | 72               |
| 12 | test1    | NULL | 空               |
| 13 | TEST2    |   18 | 18               |
+----+----------+------+------------------+select id ,username ,score ,case when score>60 then '及格' when score=60 then '太险了' when score<60 then '有点差劲'end as '分段' from student;+----+----------+-------+----------+
| id | username | score | 分段     |
+----+----------+-------+----------+
|  1 | king     |    95 | 及格     |
|  2 | king1    |    25 | 有点差劲 |
|  3 | king2    |    30 | 有点差劲 |
|  4 | king3    |    35 | 有点差劲 |
|  5 | king4    |    50 | 有点差劲 |
|  6 | king5    |    55 | 有点差劲 |
|  7 | king6    |    80 | 及格     |
|  8 | king7    |    90 | 及格     |
|  9 | king8    |    25 | 有点差劲 |
| 10 | king9    |    45 | 有点差劲 |
+----+----------+-------+----------+还有一种case的形式如下:case 变量或者表达式或者字段when 常量1  then  值1when 常量2  then  值2....elseend注意区分两种形式的不同点下面如果部门是30 显示1.1倍的工资,其他的一次类推,写法如下:select department_id ,salary  case department_id when 30 then salary*1.1 when 40  then salary*1.2  when 50 then salary*1.3 else salary end from employees;

注意的是这些函数的位置是在字段的时候使用,意思就是这些条件是对字段的操作,应该放在查询条件之前。

sql语句条件判断函数(流程控制函数)相关推荐

  1. SQL语句条件判断之case when基本用法

    在日常开发中 有些需求我们无法避免的要在SQL语句中进行类似于Java中if判断的操作,那SQL语句是否可以满足呢? 本文将介绍SQL条件判断关键字case when的基本用法 基本语法 case x ...

  2. oracle sql循环判断语句怎么写,Oracle 非常详细的 PL/SQL入门教程,PL/SQL语法格式/循环语句/条件判断/异常处理...

    PL/SQL入门教程目录 Oracle PL/SQL入门教程,PL/SQL语法格式/循环语句/条件判断/异常处理 一.PL/SQL简介 1.PL/SQL简介 1.PL/SQl是过程语言PL与结构化语言 ...

  3. .net一个函数要用另一个函数的值_【195期】MySQL中的条件判断函数 CASE WHEN、IF、IFNULL你会用吗?...

    点击上方"Java面试题精选",关注公众号 面试刷图,查缺补漏 >>号外:往期面试题,10篇为一个单位归置到本公众号菜单栏->面试题,有需要的欢迎翻阅 阶段汇总集 ...

  4. .net一个函数要用另一个函数的值_Mysql:条件判断函数-CASE WHEN、IF、IFNULL详解

    前言 在众多SQL中,统计型SQL绝对是让人头疼的一类,之所以如此,是因为这种SQL中必然有大量的判读对比.而条件判断函数就是应对这类需求的利器.本文重点总结CASE WHEN.IF.IFNULL三种 ...

  5. mysql 条件 函数_mysql 函数 时间函数,数学函数,字符串函数,条件判断函数

    =========================================== mysql 相关函数 ============================================= ...

  6. Shell攻关之条件判断与流程控制

    条件判断与流程控制 一.条件判断式语句 1.按照文件类型判断 (1) 常用: -d 文件 判断该文件是否存在,并且是否为目录文件(是目录为真)-e 文件 判断该文件是否存在(存在为真)-f 文件 判断 ...

  7. MySQL中的条件判断函数 CASE WHEN、IF、IFNULL你会用吗?

    前言 参考文章:https://mp.weixin.qq.com/s?__biz=MzIyNDU2ODA4OQ==&mid=2247486529&idx=1&sn=6d5cd7 ...

  8. Python 数据分析三剑客之 NumPy(五):数学 / 算术 / 统计 / 排序 / 条件 / 判断函数合集

    CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...

  9. mysql 属性函数_4-MySQL函数(字段处理函数条件判断函数)

    一.字段处理函数 字符串处理函数: concat(field1,field2 -- ) substr(str,pos,len) replace(str,old_str,new_str)[Hive:re ...

最新文章

  1. 企业网络推广专员浅析企业网络推广初期网站优化应重视的一些问题
  2. 文巾解题 810. 黑板异或游戏
  3. 用户、角色和权限,多表查询
  4. 稀疏多项式的运算用链表_用漫画告诉你—什么是HashMap?
  5. golang mac 环境变量_macOS 配置 golang 运行环境
  6. 如何批量删除指定的GitHub Repos
  7. Eclipse可以执行jsp文件却无法访问Tomcat主页
  8. @Autowired注解作用在方法上
  9. Linux 初始化之 Systemd机制简介
  10. HTML(超文本语言)
  11. from flask._compat import text_type ModuleNotFoundError: No module named ‘flask._compa‘
  12. SpringBoot项目网页加载出现Whitelabel Error Page
  13. 基础篇 | 材质01 | 4种法线
  14. fastboot命令汇总
  15. 理解boot menu
  16. 漫画解读:车规芯片为何比普通芯片贵?跟普通芯片有什么差异?
  17. Stereogram(极射赤面)投影--主要用于中高纬和极区的天气图
  18. 适合ipad的python编程软件-这15个应用,程序员用iPad照样可以编程!
  19. 突然想到--破窗理论与温水青蛙
  20. 计算机财务管理系统的目标,计算机财务管理之计算机财务管理系统的建立课件.ppt...

热门文章

  1. springboot成都大学校园植物网站毕业设计-附源码181557
  2. 计算机程序的灵魂,如何理解算法是程序设计的灵魂
  3. 什么是BFC?以及形成BFC的条件
  4. 1064: [Noi2008]假面舞会
  5. 计算PI(π)的方法
  6. 黑马 Java八股文面试题视频教程,Java面试八股文宝典(虚拟机篇)
  7. 如何才能实现自己的梦想
  8. 基于C++如何使用EGE做一个简单的坦克大战游戏
  9. OpenJudge NOI题库 1.7 编程基础之字符串
  10. Very Suspicious (思维)