BETWEEN AND:查询包含在此区间内的所有 整数 ,例如 “i >= 60 AND i <= 80”,可用数据库术语表示:“i BETWEEN 60 AND 80”.

NOT BETWEEN AND:查询不包含在此取间内的所有 整数 ,例如"i < 60 OR i > 80",可用数据库术语表示:“i NOT BETWEEN 60 AND 80”.

BETWEEN AND查询

当我们需要查询指定范围内的数据(如: id 从0 到 100)的时候,MySQL提供了关键字BETWEEN AND,用来实现判断字段的数值是否在指定范围内的条件查询。该关键字的具体语法形式如下:

推荐写法:
select * from 表名 where 整型字段名 BETWEEN 0 AND 100;

可写成如下格式(不推荐):
select * from 表名 where 整型字段名 >= 0 AND 整型字段名 <= 100;
(类似于C/C++语言的:i >= 0 && i <=100)

当满足条件大于等于零且小于等于100以内的数据都会被查询出来!

  1. 创建一张表并插入数据

    create table between_and(id int PRIMARY KEY AUTO_INCREMENT, name varchar(32), age int, _date date);
    insert into between_and values(1, '甲', 20, '2000-4-26'), (2, '乙', 22, '1998-3-12'), (3, '乙', 18, '2002-9-29'), (4, '丁', 21, '1999-5-22');
    

    在这里插入图片描述

  2. 查询年纪在19 至 25岁之间的数据

    select * from between_and where age BETWEEN 19 AND 25;
    

    在这里插入图片描述

  3. 当然除了可以整数类型外,还可以查询日期类型

    select * from between_and where _date BETWEEN '2002-09-29' AND '2000-04-26';
    

    在这里插入图片描述

  4. 可以使用 大于号> 小于号< 方式表示(不推荐)

    select * from between_and where _date >= '1998-03-12' AND _date <= '2020-09-29';
    

    NOT BETWEEN AND查询

    不符合范围的数据记录查询:
    通过关键字NOT设置反向查询非查询范围的条件,具体SQL语句如下:
    推荐写法:
    select * from 表名 where 整型字段名 NOT BETWEEN 0 AND 100;

    可写成如下格式(不推荐):
    select * from 表名 where 整型字段名 < 0 OR 整型字段名 > 100;
    (类似于C/C++语言的:i < 0 || i >100)

    当满足条件小于零且大于100的数据都会被查询出来!

    1. 查询年纪不在19 至 25岁之间的数据

      select * from between_and where age NOT BETWEEN 19 AND 25;
      

      在这里插入图片描述

    2. 查询日期类型98年至00年的所有数据

      select * from between_and where _date NOT BETWEEN '1998-03-12' AND '2000-04-26';
      

      在这里插入图片描述

    3. 可以使用 大于号> 小于号< 方式表示(不推荐)

      select * from between_and where (_date < '1998-03-12' OR _date > '2000-04-26');
      

      注意:只能查询整型(int) 与 日期类型(date)。
      例:
      使用BETWEEN AND查询字符串类型:

      select * from between_and where name BETWEEN '甲' AND '丁';
      

      在这里插入图片描述
      查询结果为空!!!

      总结:
      BETWEEN AND查询语句其实不难,只要懂得一点点的数学条件判段,都可以学会;只需注意,BETWEEN AND 只能查询整型int与日期类型date的数据,其它类型都查询不了

      1.首先emp表格中hiredate的数据类型是datetime类型,当你使用between查找日期范围的时候,会将 左区间‘1980-12-17’转化为‘1980-12-17 00:00:00’, 右区间‘1981-02-22’转化为‘1981-02-22 00:00:00’。 而emp表中实际是‘1981-02-22 01:00:00’, 比较原创,让大家对mysql时间查询是否走索引有一个更好的认知。 mysql中between and和>=、<=的作用相似,网上有的说使用between and查询时同一天索引有效,非同一天时,索引无效。 而使用>=、<=时,不管是同一天还是非同一天,索引均无效。实践是检验真理的唯一标准,今天就测试了一下。使用生产 环境的一张运输记录表(biz_stub),创建时间(gmt_create)字段加了索引: 1、使用between and查询: (1)查询的时间
      故障状况:php网站连接mysql失败,但在命令行下通过mysql命令可登录并正常操作。解决方案:1、命令行下登录mysql,执行以下命令: 代码如下:show variables like ‘socket’;执行后会得到类似于如下回显: 代码如下:“Variable_name”        “Value”“socket”                  “/home/mysql/data/mysql.sock”2、编辑php.ini,找到mysql.default_socket配置项,默认一般是空值(使用编辑Mysql时设置的sock路径),将此项添加值为上面回显中的”/home/mys
      MySQL数据表中带BETWEEN AND的范围查询 MySQL数据表中带BETWEEN AND的范围查询BETWEEN AND关键字可以判断某个字段的值是否在指定的范围内。如果字段的值在指定范围内,则符合查询条件,该记录将被查询出来。 如果字段的值不在指定范围内,则不符合查询条件。 基本的语法格式如下:[NOT] BETWEEN 取值1 AND 取值2 NOT:可选。加上NOT表示不能满足
      这些值可以是数值、文本或者日期,除了日期特殊外,在sqlserver中都是左右包含! select*from 表名 where 字段 between  1 and 10    相当于>=1 如果日期是长型 (2016-04-01 18:12:49.923) 用select*from 表名 where 日期列 between  '2017-5-16' and '2017-5-17 '
      本文实例讲述了MySQL基于DOS命令行登录操作方法。分享给大家供大家参考,具体如下: 常用的MySQL命令行登录语句如下: 代码如下:mysql -h localhost -u root -p123456 -h 表示服务器地址,可省略,默认表示本机服务器 -u 表示登录用户,必选,可与用户名连在一起写,如:-uroot -p 表示数据库密码,必选,但这里可不输入密码(注意:命令行中-p与密码之间不能有空格) 因此,上述语句可写成如下几种形式: mysql -u root -p123456 mysql -uroot -p123456 mysql -u root -p mysql
      MySQL中的时间区间查询between是一种常用的查询方式,它可以查询某个时间段内的数据。具体使用方法如下: SELECT * FROM table_name WHERE date_column BETWEEN 'start_date' AND 'end_date'; 其中,table_name是要查询的表名,date_column是要查询的日期列名,start_date和end_date是时间区间的起始和结束时间。注意,日期格式必须与date_column列的格式一致。 例如,查询某个表中2019年1月1日至2019年12月31日之间的数据,可以使用以下语句: SELECT * FROM table_name WHERE date_column BETWEEN '2019-01-01' AND '2019-12-31';