原文:Mysql学习笔记(三)运算符和控制流函数

本章学习内容:

1.操作符

2.控制流程函数

操作符:

i.圆括号。。

简单的介绍一下圆括号,圆括号的使用的目的是规定计算表达式的顺序。。。这个想必大家都熟悉例如  mysql>select 1+(2*3) mysql>select (1+2)*3

ii.比较运算符。

比较运算符就比较多了,并且也很常用..比如

=等于:mysql> SELECT 1 = 0;-> 0
mysql> SELECT '0' = 0;-> 1<> , !=不等于:mysql> SELECT '.01' <> '0.01';-> 1mysql> SELECT .01 <> '0.01';-> 0
<=小于或等于:mysql> SELECT 0.1 <= 2;-> 1<小于:mysql> SELECT 2 < 2;-> 0>=大于或等于:mysql> SELECT 2 >= 2;-> 1>大于:mysql> SELECT 2 > 2;-> 0<=>NULL 值安全等于:mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;-> 1 1 0IS NULL
IS NOT NULL测试一个值是或不是 NULL:mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;-> 0 0 1mysql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;-> 1 1 0expr BETWEEN min AND max如果 expr 大于或等于 min ,并且 expr 小于或等于 max,BETWEEN 返回 1,否则返回 0。它等价于表达式 (min <= expr AND expr <= max) ,只要所有的参数均是相同的类型。 否则类型会依照上面的规则发生转换,但是应用于所有三个参数。注意,在 MySQL 4.0.5 之前,参数被转换到 expr 的类型。 mysql> SELECT 1 BETWEEN 2 AND 3;-> 0
mysql> SELECT 'b' BETWEEN 'a' AND 'c';-> 1expr IN (value,...)如果 expr 是 IN 列表中的作一值,它将返回 1,否则返回 0。如果所有的值均是常数,那么所有的值被依照 expr 的类型进行计算和排序。然后以一个二进制搜索方式完成项目的搜索。这就意味着,如果 IN 列表完全由常数组成,IN 将是非常快的。如果 expr 是一个字母大小写敏感的字符串表达式,字符串比较将以大小写敏感方式执行:mysql> SELECT 2 IN (0,3,5,'wefwf');-> 0mysql> SELECT 'wefwf' IN (0,3,5,'wefwf');-> 1

iii.逻辑运算符...

逻辑运算符也很常用并且也很简单...

NOT
!逻辑非。 如果操作数为 0,返回 1;如果操作数为非零,返回 0;如果操作数为 NOT NULL,返回 NULL。mysql> SELECT NOT 10;-> 0mysql> SELECT NOT 0;-> 1mysql> SELECT ! 1+1;-> 1
最后一个例子返回 1,因为表达式是与 (!1)+1 一样被计算的。 AND ,&&逻辑与..当表达式的两边同时为1的时候,函数表达式才返回true,否则为false..mysql> SELECT 1 && 1;-> 1
mysql> SELECT 1 && 0;-> 0or ,||逻辑或。。当表达式两边同时为0的时候,函数表达式才返回false,否则为true..mysql> SELECT 1 || 1;-> 1
mysql> SELECT 1 || 0;-> 1xor逻辑异或。。当两边的不同的时候函数表达式返回true,否则返回true..

控制流函数:

IFNULL(expr1,expr2)
如果 expr1 为非 NULL 的,IFNULL() 返回 expr1,否则返回 expr2。IFNULL() 返回一个数字或字符串值
mysql> SELECT IFNULL(1,0);-> 1
mysql> SELECT IFNULL(NULL,10);-> 10
如果 expr1 = expr2 为真,返回 NULL,否则返回 expr1。 它等同于 CASE WHEN x = y THEN NULL ELSE x END:mysql> SELECT NULLIF(1,1);-> NULL
mysql> SELECT NULLIF(1,2);-> 1
--------------------------------------------------------------------------------
NULLIF(expr1,expr2)如果 expr1 = expr2 为真,返回 NULL,否则返回 expr1。 它等同于 CASE WHEN x = y THEN NULL ELSE x END:mysql> SELECT NULLIF(1,1);-> NULL
mysql> SELECT NULLIF(1,2);-> 1
--------------------------------------------------------------------------------
IF(expr1,expr2,expr3)
如果expr1为真,那么将返回expr2的值,否则返回expr3的值
mysql> SELECT IF(1>2,2,3);-> 3
mysql> SELECT IF(1<2,'yes','no');-> 'yes'
mysql> SELECT IF(STRCMP('test','test1'),'no','yes');-> 'no'
如果expr2和expr3明确的指为null,那么将返回非NULL的类型..
--------------------------------------------------------------------------------
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END mysql> SELECT CASE 1 WHEN 1 THEN "one"WHEN 2 THEN "two" ELSE "more" END;-> "one"
mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END;-> "true"
mysql> SELECT CASE BINARY "B" WHEN "a" THEN 1 WHEN "b" THEN 2 END;-> NULL

Mysql学习笔记(三)运算符和控制流函数相关推荐

  1. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  2. MySQL学习笔记(三)查询

    写在前面:本篇为作者自学总结,学习内容为课堂所学和网络学习笔记汇总,对于内容引用部分在文中和文末注明. 文章仅供参考,如需深入了解,请查阅MySQL参考手册.附上下载链接: 链接:https://pa ...

  3. mysql的基本数据类型_mysql基本数据类型(mysql学习笔记三)

    Mysql数据类型 小数: 浮点:小数位可以变化 Float单精度默认精度6位左右 Double双精度默认精度16位左右 支持,控制数值范围 Type(M,D) M表示所有数值位数(不包括小数点和符号 ...

  4. mysql学习笔记三 —— 数据恢复与备份

    要点: 1.存储引擎 2.导入导出 3.备份与恢复 查看当前数据库中的所有表 use db1: show tables: 1.存储引擎 不同的发动机(引擎)适用的汽车类型不一样. 存储和处理的不同方式 ...

  5. MySQL学习笔记(三)

    准备好一个表的员工,接下来都是对这个表进行操作 一,数据表里内容的修改和删除(更改,删除) 1.1增加一列数据 格式:alter table 表名 add column 列名 数据类型(数据长度); ...

  6. MySQL学习笔记三:  1. 多表查询     2. 事务     3. DCL

    ## 多表查询:     * 查询语法:         select             列名列表         from             表名列表         where.... ...

  7. Mysql学习笔记day1 --三天学完mysql所有知识点

    Mysql 超全MySQL学习笔记,三天就可以学会熟练运用SQL语句,干货满满,文章末尾有相应的练习题,可以多练练加深印象,希望我的文章对你有所帮助 一.服务器 1.什么是服务器?用于提供共享资源文件 ...

  8. PHP + MySQL 学习笔记(三)--- 分页显示 MySQL 资料表,使用 PHP 程式做分页 page 画面输出,PHP\HTML\MySQL 的穿插使用

    我在 "PHP + MySQL 学习笔记(一)- 延续前期 HTML + CSS 规划 插入 PHP 程式做画面输出" 这篇笔记里做了一个卜卦的 HTML 画面,也做了一个 MyS ...

  9. MySQL学习笔记-基础篇1

    MySQL 学习笔记–基础篇1 目录 MySQL 学习笔记--基础篇1 1. 数据库概述与MySQL安装 1.1 数据库概述 1.1.1 为什么要使用数据库 1.2 数据库与数据库管理系统 1.2.1 ...

最新文章

  1. 生日游戏html,小朋友过生日室内游戏
  2. jsp:请求转发和重定向
  3. iOS 根据图片URL从本地相册获取图片
  4. redio中插入php脚本,Jquery操作radio的简单实例
  5. python英文字典小程序_python 小程序—三级菜单—循环和字典练习
  6. (软件工程复习核心重点)第七章软件维护习题
  7. VictoriaMetrics入门与实战
  8. 数据科学 IPython 笔记本 9.11 结构化数据:NumPy 的结构化数组
  9. 最好用的Unity代码编辑器Rider如何免费申请?
  10. java视频教程 设计模式,Gof设计模式视频课程(Java实现)
  11. 程序员那些必须掌握的排序算法(上)
  12. mac 技术篇-修改hosts文件,hosts文件位置
  13. Excel中COUNTIFS函数统计词频个数出现次数
  14. NVIDIA Jetson TK1学习与开发(二):入门指导
  15. 二叉树的层序遍历与镜像翻转js
  16. Object.entries()
  17. mysql主从配置duxi_​WordPress大前端主题DUX 5.1
  18. 费雪MOGAFX方程式是什么? -
  19. 2019年Q3股票行情:依旧大喜大悲
  20. 视音频冷知识——音箱线

热门文章

  1. 09年03月27日--request 之 getParameterMap
  2. 飚王硬盘盒怎么样_ORICO M.2固态移动硬盘盒众测分享:移动存储也高速
  3. Nacos客户端配置
  4. Nacos配置管理-多环境配置共享
  5. RabbitMQ Topic交换机(结果成功)
  6. Eureka、Zookeeper和Consul 的区别
  7. MyBatis 哪些地方用到了代理模式?
  8. Spring5 源码下载注意事项
  9. TCP/IP的三层负载均衡
  10. 类加载器-双亲委派-源码分析2