• 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。

  • 相关阅读:
    NOIP2018游记
    NOIP2018T1DAY1——Road(并查集做法??)
    UVA11021 Tribles——概率dp
    捡石头——(期望递推)
    USACO2008mar-gold牛跑步(第k短路:A-star)
    Java中的异常处理
    Java学习手册
    各种应用层注入手段整理 【转载】
    正则表达式学习
    Run-Time Check Failure #0,The value of ESP was not properly saved 错误解决
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15453341.html
Copyright © 2020-2023  润新知