SQL学习——BETWEEN运算符
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 Products
WHERE 价格 BETWEEN 30 AND 60;
结果:

可以看到 价格 那一列的数据都是介于30(包含)和60(包含)之间的
NOT BETWEEN 实例
要显示前面示例范围之外的产品,请使用NOT BETWEEN:
实例
SELECT * FROM Products
WHERE 价格 NOT BETWEEN 30 AND 60;
或
SELECT * FROM Products
WHERE NOT 价格 BETWEEN 30 AND 60;
这里的NOT位置可以在列的前面或者后面,结果都是一样的,只是个人写法习惯
结果:

价格那一列就会显示排除了在30到60之间的数了。
带有 IN 的 BETWEEN 操作符实例
以下SQL语句选择价格在10到60之间但名称不是大米和香蕉的所有产品:
实例
SELECT * FROM Products
WHERE (价格 BETWEEN 10 AND 60)
AND 名称 NOT IN ('大米','香蕉');
因为大米和香蕉都是字符类型,所以要用单引号('')
结果:

可以看到价格一列均满足10到60之间,名称一列香蕉(45.00)的价格本来也符合,但是因为我们用NOT IN把他排除了,所以也不显示出来。
带有文本值的 BETWEEN 操作符实例
以下SQL语句选择所有带有名称 BETWEEN'面包'和'香蕉'的产品:
实例
SELECT * FROM Products
WHERE 名称 BETWEEN '面包' AND '香蕉'
结果:

你注意到了吗?
为什么会出现苹果呢?
这是因为数据库在进行筛选时是按照名称拼音首字母的ASCII进行排序的,面包的首字母是M,香蕉的首字母是X,而苹果的首字母是P正好介于他们之间,所以被包含了。
那为什么又没有雪梨呢?雪梨的首字母也是X啊?
数据库在首字母相同时会继续比较第二个字母,如果第二个也相同依次往下比较,直到全部对比完。这里香蕉的全拼是XIANGJIAO,而雪梨的全拼是XUELI,很明显按升序排列第二个字母U比字母I大,它已经超出了字母I这个上限的范围,所以雪梨被排除了。
带有文本值的 NOT BETWEEN 操作符实例
以下SQL语句选择名称不是BETWEEN'面包'和'香蕉'的所有产品:
实例
SELECT * FROM Products
WHERE 名称 NOT BETWEEN '面包' AND '香蕉'
结果:

排除掉面包和香蕉之间的数就剩下大米和雪梨了。
日期边界问题
示例表Orders
下面是选自 "Orders" 表的数据:

带有日期值的 BETWEEN 操作符实例
以下 SQL 语句选取 订单日期 介于 '2018-06-28' 和 '2018-09-28' 之间的所有订单:
实例
SELECT * FROM Orders
WHERE 订单日期 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学习——BETWEEN运算符的更多相关文章
- SQL学习——IN运算符
IN的作用 IN运算符允许您在WHERE子句中指定多个值. IN运算符是多个OR条件的简写. IN的语法 SELECT column_name(s) FROM table_name WHERE col ...
- SQL学习——LIKE运算符
原文链接 LIKE 作用 在WHERE子句中使用LIKE运算符来搜索列中的指定模式. 有两个通配符与LIKE运算符一起使用: % - 百分号表示零个,一个或多个字符 _ - 下划线表示单个字符 注意: ...
- C++学习之运算符重载的总结
C++学习之运算符重载的总结 运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用域不同类型的数据导致不同行为的发生,C++为运算符重载提供了一种方法,即运算符重载函数 ...
- ORALCE PL/SQL学习笔记
ORALCE PL/SQL学习笔记 详情见自己电脑的备份数据资料
- TERADATA SQL学习随笔<一>
此博客内容简介及目录 http://www.cnblogs.com/weibaar/p/6644261.html 最近在TERADATA环境学习SQL.在这里记录一下学习中查过的知识点,作为备案. 目 ...
- SQL学习(时间,存储过程,触发器)
SQL学习 几个操作时间的函数 --datapart 获取时间中的年月日时分秒等部分 select DATEPART(year,current_timestamp); select DATEPART( ...
- SQL-W3School-基础:SQL AND & OR 运算符
ylbtech-SQL-W3School-基础:SQL AND & OR 运算符 1.返回顶部 1. AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤. AND 和 OR 运算符 ...
- Dart学习笔记-运算符-条件表达式-类型转换
Dart学习笔记-运算符-条件表达式-类型转换 一.运算符 1.算术运算符 + (加)- (减)* (乘)/ (除)~/ (取整) %(取余) 2.关系运算符 == (等等) != (不等) > ...
- python学习第六天运算符总结大全
python学习第六天运算符总结大全,玖乐网络(www.96net.com.cn)列出下面详细 1,算术运算符 + 加 - 减 *乘 / 除 % 求模 ** 乘方 // 取整除 - 返回商的整数部分 ...
随机推荐
- linux 测试磁盘iops 方法详解
一.FIO安装 wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz yum -y install libaio-devel tar -zxvf ...
- SQL语法介绍
一.Select 查询 语法: mysql> help selectName: 'SELECT'Description:Syntax:SELECT [ALL | DISTINCT | DISTI ...
- STM32第二章I/O端口应用
STM32F10xxx系列中,有7个I/O端口,每个端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位 ...
- Unity3d 烘培lightingmap 注意的2点.
1.在Qulity里面设置合适的灯光数量.否则,你会发现烘培出来的场景,有些灯光没有起作用. 2.在导入模型时候,注意勾选:Generate Lightingmap . 否则,模型没办法烘培. 3. ...
- 《剑指offer》Q13-18 (牛客10.13)
目录 Q13 调整数组顺序使奇数位于偶数前 Q14 链表中倒数第k个结点 Q15 反转链表 Q16 合并两个有序链表 Q17 树的子结构 Q18 二叉树的镜像 Q13 调整数组顺序使奇数位于偶数前 输 ...
- CF1187E Tree Painting
思路: 树形dp,首先使用dp计算以1为根的时候的最大分数,同时得到各个子树i的最大分数dp[i].然后利用前面得到的dp数组分别计算以其他每个点作为根的时候的最大分数. 实现: #include & ...
- golang 二维切片
初始化: res := make([][length]int, length), 例如: res := make([][2]int, 10) fmt.Println(res) 输出: [[0 0] [ ...
- 剑指offer17:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
1 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 2 思路和方法 (1)先在A中找和B的根节点相同的结点 (2)找到之后遍历对应位置的其他结点, ...
- 最新精仿Chinaz中国站长网整站源码带全部数据带采集功能
用范围: 站长网源码演示地址:php源码运行环境: phpChinaz站长网对于广大站长来说,是不会陌生的,现在几乎成为了每个站长都必须上的网站了.这次分享的是Chinaz站长网的源码,包含了chi ...
- Java基础之IO和NIO补完
Java Stream,File,IO 关于NIO和IO的比较,参考:Java NIO系列教程(十二) Java NIO与IO java包之java.io 参考材料:菜鸟教材 NIO 由于下面的系列教 ...