数据库中,between…and相当于数学中的开区间还是闭区间?急!!!

数据库中,between…and相当于数学中的开区间还是闭区间?急!!!,第1张

数据库中,between…and相当于数学中的区间

between 2 and 4 和 >=2and<=4 是等价的,每种数据库处理方式不一样,这种是sql的处理方式mysql+sqlserver,oracle中between and也包含边界值,也就是说包含两个端的数,前后都是闭区间。

闭区间是直线上的连通的闭集,是直线上介于固定两点间的所有点的集合(包括给定的两点),用[a,b]来表示(包含两个端点a和b)(且a<b)。由于它是有界闭集,所以它是紧致的。

区间:

区间在积分理论中起着重要作用,因为它们作为最"简单"的实数集合,可以轻易地给它们定义"长度"、或者说"测度"。然后,"测度"的概念可以拓,引申出博雷尔测度,以及勒贝格测度。

区间也是区间算术的核心概念。区间算术是一种数值分析方法,用于计算舍去误差。

区间的概念还可以推广到任何全序集T的子集S,使得若x和y均属于S,且x<z<y,则z亦属于S。例如整数区间[-1...2]即是指{-1,0,1,2}这个集合。

不一定,不同的数据库管理系统,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 *** 作符的!

作用:

BETWEEN  and *** 作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。

范围:

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

语法:

SELECT column_name(s) FROM table_name

WHERE column_name BETWEEN value1 AND value2

注意事项:

不同的数据库对 BETWEEN...AND *** 作符的处理方式是有差异的。有些数据库包含value1 和 value2  有些只包含value1 不包含value2,有些则两则均不包括。

所以,请检查你的数据库是如何处理 BETWEEN....AND *** 作符的!

举例说明(以sql server 2008为列)

(1).建表并且生成数据

create table 销售清单

(单据编号 varchar(10),

商品     varchar(10),

时间    datetime)

insert into 销售清单

values ('00001','苹果','2014-01-01'),

('00002','荔枝','2015-01-01'),

('00003','菊花','2016-01-01'),

('00004','玫瑰','2015-12-01')

(2).between and 查找2015年的记录

select * from 销售清单 where 时间 between '2015-01-01' and '2015-12-31'

结果:

-


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10055986.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存