MySQL的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用:

IF表达式

[sql] view plaincopy
  1. IF(expr1,expr2,expr3)

如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

[sql] view plaincopy
  1. select if(sva=1,"男","女") as ssva from taname where id = '111'

作为表达式的if也可以用CASE when来实现:

[sql] view plaincopy
  1. select CASE sva WHEN 1 THEN '男' ELSE '女' END as ssva from taname where id = '1'

在第一个方案的返回结果中, value=compare-value。而第二个方案的返回结果是第一种情况的真实结果。如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 NULL。

[sql] view plaincopy
  1. SELECT CASE 1 WHEN 1 THEN 'one'
  2. WHEN 2 THEN 'two'
  3. ELSE 'more' END
  4. as testCol

将输出one

IFNULL(expr1,expr2)

假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。

[sql] view plaincopy
  1. mysql> SELECT IFNULL(1,0);
  2. -> 1
  3. mysql> SELECT IFNULL(NULL,10);
  4. -> 10
  5. mysql> SELECT IFNULL(1/0,10);
  6. -> 10
  7. mysql> SELECT IFNULL(1/0,'yes');
  8. -> 'yes'

IFNULL(expr1,expr2) 的默认结果值为两个表达式中更加“通用”的一个,顺序为STRING、 REAL或 INTEGER。

IF ELSE 做为流程控制语句使用

if实现条件判断,满足不同条件执行不同的操作,这个我们只要学编程的都知道if的作用了,下面我们来看看mysql 存储过程中的if是如何使用的吧。

[sql] view plaincopy
  1. IF search_condition THEN
  2. statement_list
  3. [ELSEIF search_condition THEN]
  4. statement_list ...
  5. [ELSE
  6. statement_list]
  7. END IF

与PHP中的IF语句类似,当IF中条件search_condition成立时,执行THEN后的statement_list语句,否则判断ELSEIF中的条件,成立则执行其后的statement_list语句,否则继续判断其他分支。当所有分支的条件均不成立时,执行ELSE分支。search_condition是一个条件表达式,可以由“=、<、<=、>、>=、!=”等条件运算符组成,并且可以使用AND、OR、NOT对多个表达式进行组合。

版权声明:本文为博主原创文章,未经博主允许不得转载。

来源:http://blog.csdn.net/csdn_wangqi/article/details/53218782

Mysql数据库If语句的使用相关推荐

  1. MySQL 数据库 like 语句通配符模糊查询小结

    MySQL 报错:Parameter index out of range (1 > number of parameters, which is 0)--MySQL 数据库 like 语句通配 ...

  2. MySQL数据库update语句使用详解

    MySQL数据库update语句使用详解 本篇文章我们来讲讲如何对MySQL数据库进行更新操作,对数据库进行增删改查操作是我们必会的基础之一,会了这个增删改查我们可以在这基础上去编写更多的东西,废话不 ...

  3. excel xml mysql数据库,数据库文本文档excel表格-excel xml格式的文件 导入到 MYSQL 数据库的语句...

    教你怎样将Word表格导入到Excel中 方法如下: 1.首先,打开媒介工具"记事本",将word文件里需要导入的数据,复制粘贴到记事本当中,然后保存成为txt文件,本例中将txt ...

  4. mysql数据库---授权语句以及备份

    主要内容: mysql 授权 1.查看数据库上所有授权. select * from information_schema.user_privileges; 2查看某个用户的具体授权 show gra ...

  5. Mysql学习总结(41)——MySql数据库基本语句再体会

    1.数据定义语言(DDL):定义和管理数据对象,比如建立数据库.数据表 数据操作语言(DML):用于操作数据库对象中的包含的数据. 数据查询语言(DQL):用于查询数据库对象中包含的数据,能够对表进行 ...

  6. Mysql数据库操作语句总结(三)

    最近一段时间重新学习一下mysql命令行的用法, 这里简单记录一下 参考文章: https://www.cnblogs.com/bluealine/p/7832219.html 个人使用的是mysql ...

  7. mysql数据库比较语句,六条比较有用的MySQL数据库操作的SQL语句小结

    在MySQL数据库操作中,我们常常编写一些SQL语句来实现自己想要的功能.但是对于初学MySQL数据库的人来说这似乎又有一定的难度.此文我们总结了六条比较有用的SQL语句,初学者可以套用下面的格式,接 ...

  8. MySQL数据库 基本操作语句

    操作MySQL数据库 1.创建数据库 create database 数据库名: 2.查看数据库 show databases: 3.选择指定数据库 use 数据库名: 4.删除数据库 drop da ...

  9. mysql数据库优化语句_mysql数据库优化语句

    mysql优化语句数据库语句: Ddl(数据定义语言) alter create drop Dml(数据操作语言) inset delete update www.2cto.com Dtl(数据事务语 ...

  10. 【PHP+MySQL学习笔记】php操作MySQL数据库中语句

    我们常常用conn.php文件来建立与数据库的链接,然后在所需的文件中利用include 进行调用.这样有效防止对数据库属性的改动 而引起其他有关文件对数据调用的错误. 现在来看一个conn.php文 ...

最新文章

  1. P4178 Tree (点分治)
  2. java前后端分离的实现方式_采用前后端分离的方式进行开发,实现了几种常用的文件上传功能...
  3. 简单介绍tomcat中maxThreads,acceptCount,connectionTimeout
  4. linux手机摩托,Linux操作系统触控智能机 摩托ZN4图赏
  5. java uuid静态方法_Java UUID version()方法与示例
  6. 微信小程序canvas绘制图片的注意事项---不能是网络图片
  7. linux 魔术分区,Parted Magic-Linux 中的分区魔术师
  8. webpack打包优化_提速MAX 京东通天塔WEBPACK构建发布优化实践
  9. 框架 go_GoFrame v1.13.1 发布,Go 应用开发框架
  10. SQLServer 批量插入数据的两种方法
  11. SAP中Search help的使用
  12. connect by prior id= pid start with id='1' 树结构查询
  13. P3900 [湖南集训]图样图森破
  14. 专线多个ip 虚拟服务器,一个云服务器可以做几个ip虚拟机
  15. 怎样把PDF转换成PPT?迅捷PDF转换器来助力
  16. 深入理解Serdes 结构 之 CTLE和DFE 技术
  17. 华硕顽石第四代FL5900u拆机换电池
  18. 老男孩linux培训-python三期下载
  19. 模拟银行转账取款存款
  20. 12.1接收短信【斯纳克PACS医学影像云平台用户手册】

热门文章

  1. django前后端结合_简单4步用FLASK/Django部署你的Pyecharts项目
  2. mysql 后十条_mysql几十条常用命令归纳总结
  3. Kafka 是如何保证数据可靠性和一致性
  4. 01_sklearn--监督学习——广义线性模型,普通最小二乘法
  5. 文本处理利器Linux Awk这样入门☛常见变量的使用
  6. BAT批处理脚本结合SQL应用案例
  7. java对嵌入式_Java用于嵌入式系统的优点
  8. java继承类型转换_#java 一个简单的例子理解java继承、成员函数重写、类型转换...
  9. svg画css,CSS vs. SVG:图形文本的效果
  10. ulimit限制 新系统_说来惭愧,我被ulimit摔了一跤...