BETWEEN的作用

BETWEEN 操作符用于选取介于两个值之间的数据范围内的值。

BETWEEN的边界

BETWEEN运算符选择给定范围内的值。值可以是数字,文本或日期。

BETWEEN运算符是包含性的:包括开始和结束值,等价于>= AND <=

BETWEEN的语法

SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;

示例数据库

以下是"Products"表中的数据:

BETWEEN 实例

以下SQL语句选择价格在30到60之间的所有产品:

实例

SELECT * FROM ProductsWHERE 价格 BETWEEN 30 AND 60;

结果:

可以看到 价格 那一列的数据都是介于30(包含)和60(包含)之间的

NOT BETWEEN 实例

要显示前面示例范围之外的产品,请使用NOT BETWEEN:

实例

SELECT * FROM ProductsWHERE 价格 NOT BETWEEN 30 AND 60;或SELECT * FROM ProductsWHERE NOT 价格 BETWEEN 30 AND 60;

这里的NOT位置可以在列的前面或者后面,结果都是一样的,只是个人写法习惯

结果:

价格那一列就会显示排除了在30到60之间的数了。

带有 IN 的 BETWEEN 操作符实例

以下SQL语句选择价格在10到60之间但名称不是大米和香蕉的所有产品:

实例

SELECT * FROM ProductsWHERE (价格 BETWEEN 10 AND 60)AND 名称 NOT IN ('大米','香蕉');

因为大米和香蕉都是字符类型,所以要用单引号('')

结果:

可以看到价格一列均满足10到60之间,名称一列香蕉(45.00)的价格本来也符合,但是因为我们用NOT IN把他排除了,所以也不显示出来。

带有文本值的 BETWEEN 操作符实例

以下SQL语句选择所有带有名称 BETWEEN'面包'和'香蕉'的产品:

实例

SELECT * FROM ProductsWHERE 名称 BETWEEN '面包' AND '香蕉'

结果:

你注意到了吗?

为什么会出现苹果呢?

这是因为数据库在进行筛选时是按照名称拼音首字母的ASCII进行排序的,面包的首字母是M,香蕉的首字母是X,而苹果的首字母是P正好介于他们之间,所以被包含了。

那为什么又没有雪梨呢?雪梨的首字母也是X啊?

数据库在首字母相同时会继续比较第二个字母,如果第二个也相同依次往下比较,直到全部对比完。这里香蕉的全拼是XIANGJIAO,而雪梨的全拼是XUELI,很明显按升序排列第二个字母U比字母I大,它已经超出了字母I这个上限的范围,所以雪梨被排除了。

带有文本值的 NOT BETWEEN 操作符实例

以下SQL语句选择名称不是BETWEEN'面包'和'香蕉'的所有产品:

实例

SELECT * FROM ProductsWHERE 名称 NOT BETWEEN '面包' AND '香蕉'

结果

排除掉面包和香蕉之间的数就剩下大米和雪梨了。

日期边界问题

示例表Orders

下面是选自 "Orders" 表的数据:

带有日期值的 BETWEEN 操作符实例

以下 SQL 语句选取 订单日期 介于 '2018-06-28' 和 '2018-09-28' 之间的所有订单:

实例

SELECT * FROM OrdersWHERE 订单日期 BETWEEN '2018-06-28' AND '2018-09-28';

结果:

请注意,BETWEEN AND在处理日期可能会有你意向不到的结果

SQL中 between and是包括边界值的,not between不包括边界值,不过如果使用between and 限定日期需要注意,如果and后的日期是到天的,那么默认为00:00:00 例如:and 后的日期为2018年09月28日,就等价于2018-09-28 00:00:00 ,那么2018-09-28 11:24:54.000的数据就查不到了,如果要查到2018-09-28这一整天的数据,那么在取值的时候需要加1天,即BETWEEN '2018-06-28' AND '2018-09-29',这样返回的就是6月28日(含)到9月28日(含)的所有数据了。

sql 日期加1天_SQL基础知识——BETWEEN相关推荐

  1. sql 日期和当前日期时间差_SQL基础进阶16日期处理

    本节知识点 常见日期场景的处理  1.系统当前日期 select  getdate()  as  当前系统日期 --建表时,设置日期字段默认值为系统当前日期 create  table  test5 ...

  2. convert.todatetime指定日期格式_SQL基础知识V2——常用日期函数

    点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 日期函数是数据库中经常需要使用到的,本期将常用的几个日期函数给小伙伴做详细的介绍. G ...

  3. db2 replace函数的用法_SQL基础知识:常用字符处理函数

    原标题:SQL基础知识:常用字符处理函数 作者:丶平凡世界

  4. 远程加载固件_flash基础知识_3-1

                                           Flash基础知识以及常用指令 背景知识 最近在做的项目中,有个需要支持远程升级固件的需求.大体架构就是通过上位机把需更新 ...

  5. sql日期格式转换函数_SQL转换日期

    sql日期格式转换函数 介绍 (Introduction) A common task for newbies is to learn how to do a SQL convert date and ...

  6. sql 删除字段中下划线_SQL基础教程知识点总结

    1. ●列 ●字段 ●行 ●记录 2. SQL 语句及其种类 DDL DDL(Data Definition Language,数据定义语言)用来创建或者删除存储 数据用的数据库以及数据库中的表等对象 ...

  7. orcale 日期转字符串 去掉0_C# 基础知识系列- 13 常见类库介绍(二)日期时间类...

    0. 前言 上一篇内容介绍了Console类和Math类,这篇内容着重介绍一下C#中时间日期的处理方式. 上一篇勘误: 上一篇中关于静态类没有构造函数,这一表述有误.正确的说法是C#中静态类不包含常规 ...

  8. sql server累计求和函数_SQL基础--SQL高级功能

    一.窗口函数有什么用? 在日常工作中,经常会遇到需要在每组内排名,比如下面的业务需求: 排名问题:每个部门按业绩来排名 topN问题:找出每个部门排名前N的员工进行奖励 面对这类需求,就需要使用sql ...

  9. 中运算符百分号作用_SQL基础知识——LIKE运算符

    LIKE 作用 在WHERE子句中使用LIKE运算符来搜索列中的指定模式. 有两个通配符与LIKE运算符一起使用: % - 百分号表示零个,一个或多个字符 _ - 下划线表示单个字符 注意: MS A ...

最新文章

  1. Git客户端(TortoiseGit)基本使用详解
  2. 【正一专栏】梅西终老巴萨可被裁判吹掉了已进之球
  3. Firetruck(DFS+回溯)
  4. 【python】【scrapy】使用方法概要(三)
  5. mysql_close6_关于mysql_close()函数的10篇文章推荐
  6. 理解SQL【转http://blog.jobbole.com/55086/】
  7. SpringMVC源码总结(八)类型转换PropertyEditor的背后
  8. 比特币那么火,今晚直播带你去「挖矿」!
  9. 数学建模-二胎政策对中国人口的影响
  10. 2018最新中国知名区块链公司排行榜
  11. Excel VBA自动填充公式
  12. Android隐藏app应用图标
  13. idea创建Springboot项目时,出现Error:java: 读取C:\Users\HP\.m2\repository\com\vaadin\external\google\android-js
  14. 李沐动手学深度学习V2-基于注意力机制的seq2seq
  15. 四、最小生成树——普里姆(Prim)算法
  16. 三星s8android pie,三星修改Galaxy S8的Android Pie更新时间表,并添加M2
  17. 激光多普勒振动测量技术简述
  18. NUIST OJ 1364 [2017 江苏科技大学 程序设计竞赛]D.重复成绩统计(改编) 【STL-map】
  19. 数据结构思维导图——线性表(最全)
  20. 进制转换算法 (C语言实现一个简单的二进制转换工具) ------- 算法笔记010

热门文章

  1. 【Flink】FLink 使用EXACTLY_ONCE 报错 FlinkKafkaInternalProducer
  2. 【Java】java 实现 线程交替输出
  3. 【Es】Elasticsearch 7.x 新的集群协调层
  4. es system call filters failed to install; check the logs and fix your configuration or disable syste
  5. 【Antlr】Antlr语法设计
  6. 【MySQL】Java.sql.SQLException Incorrect string value: \xF0\x9F\x98\x8D\xE8\xBE...
  7. Page和AbilitySlice
  8. 还在用Random获取随机数?ThreadLocalRandom 性能更佳!
  9. Redis的几种拓展方案,你都清楚吗?
  10. 服务状态已停止_虾米音乐今日宣布关停,新平台”音螺“相关商标已注册