SQL中 between and 包不包括两端值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中 between and 包不包括两端值相关的知识,希望对你有一定的参考价值。

不一定,不同的数据库管理系统,between 的处理有所不同。

BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。
BETWEEN 操作符
操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SQL BETWEEN 语法
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

需要注意:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "value1 " 和 "value2" 之间的值,但不包括 "value1 " 和 "value2";某些数据库会列出介于 "value1 " 和 "value2"之间的值并包括 "value1 " 和 "value2";而另一些数据库会列出介于 "value1 " 和 "value2" 之间的值,包括 "value1 " ,但不包括 "value2" 。
所以使用前,需要确定数据库是如何处理 BETWEEN....AND 操作符的!
参考技术A

SQL server 、Mysq、Oracle等常用数据库是包括两端值的。

如图所示:

拓展知识

BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

SQL BETWEEN 语法

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

参考技术B 您好,是这样的:
SQL中 between and是包括边界值的,not between不包括边界值,不过如果使用between and 限定日期需要注意,如果and后的日期是到天的,那么默认为00:00:00 例如:and 后的日期为2013年3月24日,就等价于2013-3-24 00:00:00 ,那么2013-3-24 18:28:38的数据就差不到了,需要进行to_char处理。本回答被提问者和网友采纳
参考技术C

这个不一定。因为不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。

SQL between and用法

在SQL中,between and语句的用法如下:

1.整型数字范围

[sql]

select *

from table1

where col1 between 1 and 10

2.字符串范围

[sql]

select *

from table1

where col2 between 'abc' and 'def'

总结:以上都是在常规情况下进行的查询,如果将between 后面的比较的值对换的话,那么查询出来的结果将是空,由此可见,between and 语法要求的是从小到大的次序,而字符串则是根据ascll码值进行比较大小。

扩展:sql between and 用法 / sql中between的用法 / between and 的用法

参考技术D 包括边界值,not between不包括边界值,不过如果使用between and 限定日期需要注意,如果and后的日期是到天的,那么默认为00:00:00 。
例如:and 后的日期为2013年3月24日,就等价于2013-3-24 00:00:00 ,那么2013-3-24 18:28:38的数据就差不到了,需要进行to_char处理。
“拓展资料”
结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

SQL语句中 between and

查询两个日期之间 比如‘2012-02’到‘2012-03’ 和’2012-06‘到‘2012-07’这两个时间内的数据这么写

参考技术A sql操作符
BETWEEN
...
AND
会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SQL
BETWEEN
语法
SELECT
column_name(s)
FROM
table_name
WHERE
column_name
BETWEEN
value1
AND
value2
Persons
表:
Id
LastName
FirstName
Address
City
1
Adams
John
Oxford
Street
London
2
Bush
George
Fifth
Avenue
New
York
3
Carter
Thomas
Changan
Street
Beijing
4
Gates
Bill
Xuanwumen
10
Beijing
BETWEEN
操作符实例
查询字母顺序显示介于
"Adams"(包括)和
"Carter"之间的人
sql语句
SELECT
*
FROM
Persons
WHERE
LastName
BETWEEN
'Adams'
AND
'Carter'
结果集:
Id
LastName
FirstName
Address
City
1
Adams
John
Oxford
Street
London
2
Bush
George
Fifth
Avenue
New
York
使用
NOT
BETWEEN
...
AND
就会选择不再两个值之间的数据

以上是关于SQL中 between and 包不包括两端值的主要内容,如果未能解决你的问题,请参考以下文章

sql中between包含边界值吗?

sqlserver 数据库sql 语句探究

007-sql整体概述

SQL学习——BETWEEN运算符

oraclesqlbetweenand是前闭后开吗

SQL between and 日期范围 筛选数据不符