zoukankan      html  css  js  c++  java
  • MySQL 中<=>用法(长知识)

    https://www.runoob.com/mysql/mysql-operator.html

    MySQL 运算符

    本章节我们主要介绍 MySQL 的运算符及运算符的优先级。 MySQL 主要有以下几种运算符:

    • 算术运算符
    • 比较运算符
    • 逻辑运算符
    • 位运算符
    • 算术运算符

      MySQL 支持的算术运算符包括:

      运算符作用
      + 加法
      - 减法
      * 乘法
      / 或 DIV 除法
      % 或 MOD 取余

      在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。

      1、加

      mysql> select 1+2;
      +-----+
      | 1+2 |
      +-----+
      |   3 |
      +-----+

      2、减

      mysql> select 1-2;
      +-----+
      | 1-2 |
      +-----+
      |  -1 |
      +-----+

      3、乘

      mysql> select 2*3;
      +-----+
      | 2*3 |
      +-----+
      |   6 |
      +-----+

      4、除

      mysql> select 2/3;
      +--------+
      | 2/3    |
      +--------+
      | 0.6667 |
      +--------+

      5、商

      mysql> select 10 DIV 4;
      +----------+
      | 10 DIV 4 |
      +----------+
      |        2 |
      +----------+

      6、取余

      mysql> select 10 MOD 4;
      +----------+
      | 10 MOD 4 |
      +----------+
      |        2 |
      +----------+

      比较运算符

      SELECT 语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL。

      符号描述备注
      = 等于  
      <>, != 不等于  
      > 大于  
      < 小于  
      <= 小于等于  
      >= 大于等于  
      BETWEEN 在两值之间 >=min&&<=max
      NOT BETWEEN 不在两值之间  
      IN 在集合中  
      NOT IN 不在集合中  
      <=> 严格比较两个NULL值是否相等 两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0
      LIKE 模糊匹配  
      REGEXP 或 RLIKE 正则式匹配  
      IS NULL 为空  
      IS NOT NULL 不为空  

      1、等于

      mysql> select 2=3;
      +-----+
      | 2=3 |
      +-----+
      |   0 |
      +-----+
      
      
      mysql> select NULL = NULL;
      +-------------+
      | NULL = NULL |
      +-------------+
      |        NULL |
      +-------------+

      2、不等于

      mysql> select 2<>3;
      +------+
      | 2<>3 |
      +------+
      |    1 |
      +------+

      3、安全等于

      与 = 的区别在于当两个操作码均为 NULL 时,其所得值为 1 而不为 NULL,而当一个操作码为 NULL 时,其所得值为 0而不为 NULL。

      mysql> select 2<=>3;
      +-------+
      | 2<=>3 |
      +-------+
      |     0 |
      +-------+
      
      
      mysql> select null=null;
      +-----------+
      | null=null |
      +-----------+
      |      NULL |
      +-----------+
      
              
      mysql> select null<=>null;
      +-------------+
      | null<=>null |
      +-------------+
      |           1 |
      +-------------+

      4、小于

      mysql> select 2<3;
      +-----+
      | 2<3 |
      +-----+
      |   1 |
      +-----+

      5、小于等于

      mysql> select 2<=3;
      +------+
      | 2<=3 |
      +------+
      |    1 |
      +------+

      6、大于

      mysql> select 2>3;
      +-----+
      | 2>3 |
      +-----+
      |   0 |
      +-----+

      7、大于等于

      mysql> select 2>=3;
      +------+
      | 2>=3 |
      +------+
      |    0 |
      +------+

      8、BETWEEN

      mysql> select 5 between 1 and 10;
      +--------------------+
      | 5 between 1 and 10 |
      +--------------------+
      |                  1 |
      +--------------------+

      9、IN

      mysql> select 5 in (1,2,3,4,5);
      +------------------+
      | 5 in (1,2,3,4,5) |
      +------------------+
      |                1 |
      +------------------+

      10、NOT IN

      mysql> select 5 not in (1,2,3,4,5);
      +----------------------+
      | 5 not in (1,2,3,4,5) |
      +----------------------+
      |                    0 |
      +----------------------+

      11、IS NULL

      mysql> select null is NULL;
      +--------------+
      | null is NULL |
      +--------------+
      |            1 |
      +--------------+
      
      mysql> select 'a' is NULL;
      +-------------+
      | 'a' is NULL |
      +-------------+
      |           0 |
      +-------------+

      12、IS NOT NULL

      mysql> select null IS NOT NULL;
      +------------------+
      | null IS NOT NULL |
      +------------------+
      |                0 |
      +------------------+
      
              
      mysql> select 'a' IS NOT NULL;
      +-----------------+
      | 'a' IS NOT NULL |
      +-----------------+
      |               1 |
      +-----------------+

      13、LIKE

      mysql> select '12345' like '12%';
      +--------------------+
      | '12345' like '12%' |
      +--------------------+
      |                  1 |
      +--------------------+
      
      mysql> select '12345' like '12_';
      +--------------------+
      | '12345' like '12_' |
      +--------------------+
      |                  0 |
      +--------------------+

      14、REGEXP

      mysql> select 'beijing' REGEXP 'jing';
      +-------------------------+
      | 'beijing' REGEXP 'jing' |
      +-------------------------+
      |                       1 |
      +-------------------------+
      
      mysql> select 'beijing' REGEXP 'xi';
      +-----------------------+
      | 'beijing' REGEXP 'xi' |
      +-----------------------+
      |                     0 |
      +-----------------------+

      逻辑运算符

      逻辑运算符用来判断表达式的真假。如果表达式是真,结果返回 1。如果表达式是假,结果返回 0。

      运算符号作用
      NOT 或 ! 逻辑非
      AND 逻辑与
      OR 逻辑或
      XOR 逻辑异或

      1、与

      mysql> select 2 and 0;
      +---------+
      | 2 and 0 |
      +---------+
      |       0 |
      +---------+
      
              
      mysql> select 2 and 1;   
      +---------+     
      | 2 and 1 |      
      +---------+      
      |       1 |      
      +---------+

      2、或

      mysql> select 2 or 0;
      +--------+
      | 2 or 0 |
      +--------+
      |      1 |
      +--------+
      
      mysql> select 2 or 1;
      +--------+
      | 2 or 1 |
      +--------+
      |      1 |
      +--------+
      
      mysql> select 0 or 0;
      +--------+
      | 0 or 0 |
      +--------+
      |      0 |
      +--------+
      
      mysql> select 1 || 0;
      +--------+
      | 1 || 0 |
      +--------+
      |      1 |
      +--------+

      3、非

      mysql> select not 1;
      +-------+
      | not 1 |
      +-------+
      |     0 |
      +-------+
      
      mysql> select !0;
      +----+
      | !0 |
      +----+
      |  1 |
      +----+

      4、异或

      mysql> select 1 xor 1;
      +---------+
      | 1 xor 1 |
      +---------+
      |       0 |
      +---------+
      
      mysql> select 0 xor 0;
      +---------+
      | 0 xor 0 |
      +---------+
      |       0 |
      +---------+
      
      mysql> select 1 xor 0;
      +---------+
      | 1 xor 0 |
      +---------+
      |       1 |
      +---------+
      
      mysql> select null or 1;
      +-----------+
      | null or 1 |
      +-----------+
      |         1 |
      +-----------+
      
      mysql> select 1 ^ 0;
      +-------+
      | 1 ^ 0 |
      +-------+
      |     1 |
      +-------+

      位运算符

      位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。

      运算符号作用
      & 按位与
      | 按位或
      ^ 按位异或
      ! 取反
      << 左移
      >> 右移

      1、按位与

      mysql> select 3&5;
      +-----+
      | 3&5 |
      +-----+
      |   1 |
      +-----+

      2、按位或

      mysql> select 3|5;
      +-----+
      | 3|5 |
      +-----+
      |   7 |
      +-----+

      3、按位异或

      mysql> select 3^5;
      +-----+
      | 3^5 |
      +-----+
      |   6 |
      +-----+

      4、按位取反

      mysql> select ~18446744073709551612;
      +-----------------------+
      | ~18446744073709551612 |
      +-----------------------+
      |                     3 |
      +-----------------------+

      5、按位右移

      mysql> select 3>>1;
      +------+
      | 3>>1 |
      +------+
      |    1 |
      +------+

      6、按位左移

      mysql> select 3<<1;
      +------+
      | 3<<1 |
      +------+
      |    6 |
      +------+

      运算符优先级

      最低优先级为: :=。

      最高优先级为: !、BINARY、 COLLATE。

  • 相关阅读:
    学指令 emacs篇
    c 排序 总结
    C# WinForm源码下载
    PetShop下载
    Visual Studio常用技巧
    人事信息管理系统(PMS)
    css实现细表格原理
    GridView导出Excel/Word
    dotnet程序员装机必备工具
    容器练习一
  • 原文地址:https://www.cnblogs.com/lxwphp/p/10978603.html
Copyright © 2011-2022 走看看