共计 1966 个字符,预计需要花费 5 分钟才能阅读完成。
这篇文章将为大家详细讲解有关 MSSQL SERVER 中 BETWEEN AND 如何使用,文章内容质量较高,因此丸趣 TV 小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
使用的 sql:
SELECT ID, Name, RegisterDateFROM CustomerWHERE (RegisterDate BETWEEN 2007-01-06 AND 2007-01-06)
結果是傳回 1 筆: 丁丁,符合我的預期
但是 如果丁丁的 RegisterDate 的時間 不是 00:00:00 呢?
如果資料是這樣
IdNameRegisterDate1 澎澎 2007/1/5 00:00:002 丁丁 2007/1/6 04:37:003 亞亞 2007/1/7 00:00:00
一樣的 sql
SELECT ID, Name, RegisterDateFROM CustomerWHERE (RegisterDate BETWEEN 2007-01-06 AND 2007-01-06)
傳回來的是 0 筆
嗯,因為我沒有給予正確的時間範圍嘛,我的查詢條件應該是 2007/1/6 號整天時間範圍。
所以我通常程式在查詢前,都會先幫日期加 1 天
RegisterMaxDate = RegisterMaxDate.AddDays(1);
但是,這樣就對了嗎??
這樣的程式產生的 sql 是
SELECT ID, Name, RegisterDateFROM CustomerWHERE (RegisterDate BETWEEN 2007-01-06 AND 2007-01-07)
反而傳回 2 筆,把亞亞也傳回來了
因為 Sql 的 between min And max 是 value =min value = max 的意思
所以我應該更精確的
RegisterMaxDate = RegisterMaxDate.AddDays(1).AddSeconds(-1);
那樣產生的 sql 才會是
SELECT ID, Name, RegisterDateFROM CustomerWHERE (RegisterDate BETWEEN 2007-01-06 AND 2007/1/6 23:59:59)
傳回 1 筆,也就是丁丁,我要的資料。
4.3.5 限定数据范围——BETWEEN
在 WHERE 子句中,使用 BETWEEN 关键字可以更方便地限制查询数据的范围。当然,还可以使用 NOT BETWEEN 关键字查询限定数据范围之外的记录。
语法格式可表示如下:
表达式 [NOT] BETWEEN 表达式 1 AND 表达式 2
比如,选择范围在 10~100 之间的数,采用 BETWEEN 运算符可以表示为 BETWEEN 10 AND 100。
★ 注意 ★
使用 BETWEEN 限制查询数据范围时同时包括了边界值,而使用 NOT BETWEEN 进行查询时没有包括边界值。
实例 20 使用 BETWEEN 限定数据范围查询
本实例实现在 BookInfo 表中,查询图书价格在 35~60 之间的所有图书记录。代码如下:
USE Library SELECT * FROM BookInfo WHERE price BETWEEN 35 AND 60
运行该代码,得到的查询结果如图 4.21 所示。498)this.style.width=498; border=0 图 4.21 查询 BookInfo 表中图书价格在 35~60 之间的记录
从结果可见,使用 BETWEEN 关键字查询包含了边界值。
实际上,使用 BETWEEN 表达式进行查询的效果完全可以用含有“=”和“=”的逻辑表达式来代替,使用 NOT BETWEEN 进行查询的效果完全可以用含有“”和“”的逻辑表达式来代替。
对于实例 20,若采用含有“=”和“=”的逻辑表达式来代替 BETWEEN 表达式,代码如下:
USE Library SELECT * FROM BookInfo WHERE price =35 AND price =60
执行该代码,会得到同样的查询结果。
使用 BETWEEN 运算符也可以实现时间的比较,下面就给出一个具体的应用实例。
实例 21 使用 BETWEEN 运算符限定时间范围查询
本实例实现在 BookInfo 表中,查询出版日期在 2004/5/ 1 和 2006/1/ 1 之间的所有图书记录。代码如下:
USE Library SELECT * FROM BookInfo WHERE pubdate BETWEEN 2004/5/1 AND 2006/1/1
运行该代码,得到的查询结果如图 4.22 所示。498)this.style.width=498; border=0 图 4.22 查询 BookInfo 表中出版日期在 2004/5/ 1 和 2006/1/ 1 之间的记录
关于 MSSQL SERVER 中 BETWEEN AND 如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。