• 中文
    • English
  • 注册
  • 查看作者
    • 6-4:MySQL 比较运算符和函数

      一.  [NOT] BETWEEN..AND…

      [NOT] BETWEEN..AND:[不]在范围之内

      mysql> SELECT 2 BETWEEN 1 AND 3;
      +-------------------+
      | 2 BETWEEN 1 AND 3 |
      +-------------------+
      |                 1 |
      +-------------------+
      1 row in set (0.00 sec)
      
      mysql> SELECT 6 BETWEEN 1 AND 3;
      +-------------------+
      | 6 BETWEEN 1 AND 3 |
      +-------------------+
      |                 0 |
      +-------------------+
      1 row in set (0.00 sec)
      
      mysql> SELECT 2 NOT BETWEEN 1 AND 3;
      +-----------------------+
      | 2 NOT BETWEEN 1 AND 3 |
      +-----------------------+
      |                     0 |
      +-----------------------+
      1 row in set (0.00 sec)
      
      mysql> SELECT 6 NOT BETWEEN 1 AND 3;
      +-----------------------+
      | 6 NOT BETWEEN 1 AND 3 |
      +-----------------------+
      |                     1 |
      +-----------------------+
      1 row in set (0.00 sec)
      
      mysql> SELECT 6  BETWEEN 1 AND 6;
      +--------------------+
      | 6  BETWEEN 1 AND 6 |
      +--------------------+
      |                  1 |
      +--------------------+
      1 row in set (0.00 sec)

      二.  [NOT] IN

      [NOT] IN():[不]在列出值范围内,比如5、10、15、20这几个数字中有没有10这个数字呢?

      mysql> SELECT 10 IN(5,10,15,20);
      +-------------------+
      | 10 IN(5,10,15,20) |
      +-------------------+
      |                 1 |
      +-------------------+
      1 row in set (0.00 sec)

      而如果是13的话:

      mysql> SELECT 11 IN(5,10,15,20);
      +-------------------+
      | 11 IN(5,10,15,20) |
      +-------------------+
      |                 0 |
      +-------------------+
      1 row in set (0.00 sec)

      三.  IS [NOT] NULL

      IS [NOT] NULL:[不]为空

      mysql> SELECT NULL IS NULL;
      +--------------+
      | NULL IS NULL |
      +--------------+
      |            1 |
      +--------------+
      1 row in set (0.00 sec)
      
      mysql> SELECT NOT NULL IS NULL;
      +------------------+
      | NOT NULL IS NULL |
      +------------------+
      |                0 |
      +------------------+
      1 row in set (0.00 sec)
      
      mysql> SELECT '' IS NULL;
      +------------+
      | '' IS NULL |
      +------------+
      |          0 |
      +------------+
      1 row in set (0.00 sec)

      还可以用于查询字段,比如查询用户名为空的用户id:

      mysql> SELECT * FROM test;
      +----+----------+
      | id | username |
      +----+----------+
      |  1 | John     |
      |  2 | John     |
      |  3 | 111      |
      |  4 | tom%     |
      |  5 | NULL     |
      |  6 | NULL     |
      +----+----------+
      6 rows in set (0.00 sec)
      
      mysql> SELECT * FROM test WHERE username IS NULL;
      +----+----------+
      | id | username |
      +----+----------+
      |  5 | NULL     |
      |  6 | NULL     |
      +----+----------+
      2 rows in set (0.00 sec)

       

    • 0
    • 0
    • 0
    • 3.5k
    • 请登录之后再进行评论

      登录

      赞助本站

      • 支付宝
      • 微信
      • QQ

      感谢一直支持本站的所有人!

      单栏布局 侧栏位置: