Mysql中运算符

1、算术运算符
运算符      作用
+         加法
-          减法
*          乘法
/,DIV         除法,返回商
%,MOD         除法,返回余数

mysql root@localhost:test1> select 0.1+0.3214,0.1-0.456,01*0.235,0.1/3.7%3;
+------------+-----------+----------+-----------+
| 0.1+0.3214 | 0.1-0.456 | 01*0.235 | 0.1/3.7%3 |
+------------+-----------+----------+-----------+
| 0.4214 | -0.356 | 0.235 | 0.02703 |
+------------+-----------+----------+-----------+

mysql root@localhost:test1> select mod(7,3),7%3;
+----------+-----+
| mod(7,3) | 7%3 |
+----------+-----+
| 1 | 1 |
+----------+-----+

mysql root@localhost:test1> select mod(7,0);
+----------+
| mod(7,0) |
+----------+
| <null> | #求余运算商为0,结果为NULL;除法运算商为0,直接报错
+----------+

2、比较运算符(用于比较数字、字符串和表达)
数字作为浮点数比较
字符串以不区分大小写的方式进行比较

运算符            作用
= 等于              两侧操作数相等,则返回值为1, 否则为0。 NULL不能用于"="比较,若使用NULL返回<null>
<>或!=              不等于 两侧操作数不等,则值为1, 否则为O。 NULL不能用于"<>"比较,若使用NULL返回<null>
<=>                  NULL安全的等于(NULL-safe ) 在操作数相等时值为1 NULL也可用于<=>比较
< 小于              当左侧小于右侧时,其返回1,否则为0。 NULL不能用于"="比较,若使用NULL返回<null>
<= 小于等于            当左侧小于等于右侧时,其返回1否则为0。 NULL不能用于"="比较,若使用NULL返回<null>
> 大于             当左侧大于右侧时,其返回1否则为0。 NULL不能用于"="比较,若使用NULL返回<null>
>= 大于等于          当左侧大于等于右侧时,其返回1否则为0。 NULL不能用于"="比较,若使用NULL返回<null>
BETWEEN AND         存在于指定范围 当值在[between,and]之间时,其返回1否则为0。 NULL不能用于BETWEEN比较,若使用NULL返回<null>
IN               存在于指定集合 当值位于IN后的列表中时,其返回1否则为0 NULL不能用于IN列表,若使用NULL返回<null>
IS NULL          为NULL 只能使用NULL is NULL,返回1 只能使用NULL
IS NOT NULL           不为NULL 只能使用NULL is not NULL,返回0 只能使用NULL
LIKE               通配符匹配 类似linux中的grep 过滤,但仅支持通配
                  %表示任意多个字符
                  _表示任意单个字符,可代表一个中文字符

                  escape转义字符后面的%或_不再作为通配符而是作为字面含义,注意仅escape后的%和_才会被转义,escape前的%和_仍然是特殊字符)

REGEXP或RLIKE         正则表达式匹配 类似linux中的grep过滤,使用正则表达式匹配,等同于linux中的grep,支持正则表达式

3、逻辑运算符(布尔运算符),只能使用数值运算
运算符         作用
NOT或!        逻辑非 返回和操作数相反的结果:非0变0,0变1 NULL不能用于NOT或!,若使用结果是<null>
AND或&&       逻辑与 前后两个对象都为真,结果为真,否则为假 NULL不能用于AND或&&,若使用结果是<null>
OR或||            逻辑或 前后两个对象只有其中一个为真,结果即为真 NULL不能用于OR或||,若使用结果是<null>
XOR          逻辑异或 如果两个的逻辑真假值相异,则返回结果1;否则返回0 NULL不能用于XOR,若使用结果是<null>

4、位运算符(仅针对二进制,如果其他进制的数值,转换为二进制后再进行运算)
运算符        作用             结果
&           位与(位AND) 对应位同为1,结果为1,否则为0
|            位或(位OR) 对应位其中一个为1,结果就为1
^           位异或(位XOR) 对应位不同结果为1
~           位取反 只有一个操作数,0变1,1变0
>>            位右移 二进制数所有位右移N位,左边补0
<<            位左移 二进制数所有位左移N位,右边补0

5、运算符的优先级
优先级顺序 运算符,
1          :=
2          || 、OR 、XOR
3          && 、AND
4          NOT
5          BETWEEN 、CASE 、WHEN 、THEN 和ELSE
6          =、<=>、>=、> 、<=、<、<> 、!= 、IS、LIKE、REGEXP和IN
7         |
8          &
9          <<和>>
10         -和+
11         *、/、DIV、%和MOD
12         ^
13         -(一元减号)和~(一元比特反转)
14         !

很多情况下我们都是用"()"来将需要优先的操作括起来,这样既起到了优先的作用,又使得其他用户看起来更易于理解

02-Mysql中的运算符的更多相关文章

  1. 4.Mysql中的运算符

    4.Mysql中的运算符运算符用来连接表达式.运算符包括:算术运算符.比较运算符.逻辑运算符.位运算符. 4.1 算术运算符算术运算符包括加(+).减(-).乘(*).除(/).取模(%,MOD) 5 ...

  2. MySQL中的运算符和时间运算

    一.MySQL中运算符的分类 算术运算符,比较运算符,逻辑运算符,按位运算符 二.算数运算符 符号                            作用 + 加法   - 减法   * 乘法   ...

  3. MySQL 中的运算符

    1.算数运算符 MySQL 支持的算术运算符包括加.减.乘.除和模运算. 运算符 作用 + 加法,获得一个或多个值的和 - 减法,从一个值中减去另一个值 * 乘法,得到两个或多个值的乘积 /,div ...

  4. MySQL中的运算符

    一.算法运算符: (A) 除法运算和模运算中,如果除数为0,非法,返回结果为NULL. 二.比较运算符: (A) 比较结果不确定是返回NULL. (B) 比较运算符可以用于比较数字.字符串和表达式.数 ...

  5. Mysql 中Left/Right join on后面and和where条件查询的差异-Mysql SQL运算符是有优先级

    一.Mysql中Left/Right join on后面and和where条件查询的差异 1.建两张测试表,一张商户定义表.一张商户操作状态明细表 1)商户定义表 CREATE TABLE hope. ...

  6. MySQL中的while、repeat、loop循环

    循环一般在存储过程和存储函数中使用频繁,这里只给出最简单的示例 while delimiter $$ create procedure test_while() begin declare sum i ...

  7. mysql常见的运算符及使用

    mysql中有4类运算符,它们是: 算术运算符 比较运算符 逻辑运算符 位操作运算符 算术操作符 算术操作符是SQL中最基本的操作运算符,主要有一下几种运算符: +(加). -(减). *(乘). / ...

  8. thinkphp中的内置操作数据库与mysql中的函数汇总

    8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ...

  9. 【转】MySQL常见的运算符及使用

    转自:http://www.linuxidc.com/Linux/2016-03/129672.htm MySQL中有4类运算符,它们是: 算术运算符 比较运算符 逻辑运算符 位操作运算符 算术操作符 ...

  10. 【面试】MySQL 中NULL和空值的区别?

    做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 01 小木的故事 作为后台开发,在日常工作中如果要接触Mysql数据库,那么不可避免会遇到Mysql中的NULL和空值.那 ...

随机推荐

  1. 基础BFS+DFS poj3083

    //满基础的一道题 //最短路径肯定是BFS. //然后靠右,靠左,就DFS啦 //根据前一个状态推出下一个状态,举靠左的例子,如果一开始是上的话,那么他的接下来依次就是 左,上 , 右 , 下 // ...

  2. Redis的高级特性哨兵

    一.哨兵介绍 Redis Sentinel,即Redis哨兵,在Redis 2.8版本开始引入.哨兵的核心功能是主节点的自动故障转移.下面是Redis官方文档对于哨兵功能的描述: 监控(Monitor ...

  3. hive的使用 + hive的常用语法

    本博文的主要内容有: .hive的常用语法 .内部表 .外部表 .内部表,被drop掉,会发生什么? .外部表,被drop掉,会发生什么? .内部表和外部表的,保存的路径在哪? .用于创建一些临时表存 ...

  4. hdu6195 cable cable cable(from 2017 ACM/ICPC Asia Regional Shenyang Online)

    最开始一直想不通,为什么推出这个公式,后来想了半天,终于想明白了. 题目大意是,有M个格子,有K个物品.我们希望在格子与物品之间连数量尽可能少的边,使得——不论是选出M个格子中的哪K个,都可以与K个物 ...

  5. 【Helvetic Coding Contest 2018】B2. Maximum Control (medium)

    Description 传送门(翻译就别想了,本人英语太垃圾) Solution 设ans[i]为设置i个船时能控制的最多星球数(看到这你可能因为是dp,然而我可以很负责地告诉你是假的) 首先一个显然 ...

  6. SQL 语句学习

     Sql语句学习 一. select playerId, count(playerId) as num from OperateLog_$i where playerId > 0 and roo ...

  7. azkaban-web-start.sh启动时出现Table 'execution_flows' is marked as crashed and should be repaired Query错误的解决办法(图文详解)

    问题详情 [hadoop@master bin]$ ./azkaban-web-start.sh Using Hadoop Using Hive from /home/hadoop/app/hive ...

  8. php一致性hash性能测试(flexihash/memcache/memcached)

    一致性hash的使用在PHP中有三种选择分别是原生的memcache扩展,memcached扩展,还有一个是网上比较流行的flexihash类. 最近有项目需要使用flexihash类操作memcac ...

  9. [转]利用telnet进行SMTP的验证

    本文转自:http://www.cnblogs.com/rootq/articles/1320266.html [crazywill@localhost crazywill]$ telnet #tel ...

  10. P3742 umi的函数

    题目背景 umi 找到了一个神秘的函数 f. 题目描述 这个函数接受两个字符串 s1,s2.这些字符串只能由小写字母组成,并且具有相同的长度.这个函数的输出是另一个长度与 s1,s2 相同的字符串 g ...