zoukankan      html  css  js  c++  java
  • 02-Mysql中的运算符

    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         !

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

  • 相关阅读:
    flexible.js 移动端自适应方案
    Vue为什么不能检测数组变动
    Vue 组件间通信六种方式
    训练首个神经网络:基本分类
    对seq2seq的粗浅认识
    数学模型的过拟合和欠拟合
    在二叉树中寻找值最大的节点并返回——LintCode入门
    Android 包管理机制
    自定义View的三种实现方式及自定义属性使用介绍
    Paint.setFlags中flag意义及使用方法
  • 原文地址:https://www.cnblogs.com/wyzhou/p/10439012.html
Copyright © 2011-2022 走看看