久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MSSQL SERVER中BETWEEN AND如何使用

140次閱讀
沒有評論

共計 1966 個字符,預(yù)計需要花費 5 分鐘才能閱讀完成。

這篇文章將為大家詳細(xì)講解有關(guān) MSSQL SERVER 中 BETWEEN AND 如何使用,文章內(nèi)容質(zhì)量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

使用的 sql:

SELECT ID, Name, RegisterDateFROM CustomerWHERE (RegisterDate BETWEEN 2007-01-06 AND 2007-01-06)

結(jié)果是傳回 1 筆: 丁丁,符合我的預(yù)期

但是 如果丁丁的 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 筆

嗯,因為我沒有給予正確的時間範(fàn)圍嘛,我的查詢條件應(yīng)該是 2007/1/6 號整天時間範(fàn)圍。

所以我通常程式在查詢前,都會先幫日期加 1 天

RegisterMaxDate = RegisterMaxDate.AddDays(1);

但是,這樣就對了嗎??

這樣的程式產(chǎn)生的 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 的意思

所以我應(yīng)該更精確的

RegisterMaxDate = RegisterMaxDate.AddDays(1).AddSeconds(-1);

那樣產(chǎn)生的 sql 才會是

SELECT ID, Name, RegisterDateFROM CustomerWHERE (RegisterDate BETWEEN 2007-01-06 AND 2007/1/6 23:59:59)

傳回 1 筆,也就是丁丁,我要的資料。

4.3.5 限定數(shù)據(jù)范圍——BETWEEN

在 WHERE 子句中,使用 BETWEEN 關(guān)鍵字可以更方便地限制查詢數(shù)據(jù)的范圍。當(dāng)然,還可以使用 NOT BETWEEN 關(guān)鍵字查詢限定數(shù)據(jù)范圍之外的記錄。

語法格式可表示如下:

  表達(dá)式 [NOT] BETWEEN  表達(dá)式 1  AND  表達(dá)式 2 

比如,選擇范圍在 10~100 之間的數(shù),采用 BETWEEN 運算符可以表示為 BETWEEN 10 AND 100。

★ 注意 ★

使用 BETWEEN 限制查詢數(shù)據(jù)范圍時同時包括了邊界值,而使用 NOT BETWEEN 進(jìn)行查詢時沒有包括邊界值。

實例 20 使用 BETWEEN 限定數(shù)據(jù)范圍查詢

本實例實現(xiàn)在 BookInfo 表中,查詢圖書價格在 35~60 之間的所有圖書記錄。代碼如下:

 USE Library SELECT * FROM BookInfo WHERE price BETWEEN 35 AND 60

運行該代碼,得到的查詢結(jié)果如圖 4.21 所示。498)this.style.width=498; border=0 圖 4.21 查詢 BookInfo 表中圖書價格在 35~60 之間的記錄

從結(jié)果可見,使用 BETWEEN 關(guān)鍵字查詢包含了邊界值。

實際上,使用 BETWEEN 表達(dá)式進(jìn)行查詢的效果完全可以用含有“=”和“=”的邏輯表達(dá)式來代替,使用 NOT BETWEEN 進(jìn)行查詢的效果完全可以用含有“”和“”的邏輯表達(dá)式來代替。

對于實例 20,若采用含有“=”和“=”的邏輯表達(dá)式來代替 BETWEEN 表達(dá)式,代碼如下:

USE Library SELECT * FROM BookInfo WHERE price  =35 AND price  =60

執(zhí)行該代碼,會得到同樣的查詢結(jié)果。

使用 BETWEEN 運算符也可以實現(xiàn)時間的比較,下面就給出一個具體的應(yīng)用實例。

實例 21 使用 BETWEEN 運算符限定時間范圍查詢

本實例實現(xiàn)在 BookInfo 表中,查詢出版日期在 2004/5/ 1 和 2006/1/ 1 之間的所有圖書記錄。代碼如下:

USE Library SELECT * FROM BookInfo WHERE pubdate BETWEEN  2004/5/1  AND  2006/1/1

運行該代碼,得到的查詢結(jié)果如圖 4.22 所示。498)this.style.width=498; border=0 圖 4.22 查詢 BookInfo 表中出版日期在 2004/5/ 1 和 2006/1/ 1 之間的記錄

關(guān)于 MSSQL SERVER 中 BETWEEN AND 如何使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-03發(fā)表,共計1966字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 锡林浩特市| 靖边县| 武清区| 闽侯县| 锡林浩特市| 石门县| 微山县| 淅川县| 柘荣县| 曲麻莱县| 多伦县| 临湘市| 伊金霍洛旗| 大关县| 华容县| 元阳县| 鸡西市| 舟曲县| 交口县| 项城市| 沙坪坝区| 青龙| 洪泽县| 鄱阳县| 博兴县| 博白县| 北碚区| 呈贡县| 乡城县| 瓮安县| 百色市| 郎溪县| 东台市| 鹿泉市| 宜川县| 张家界市| 饶阳县| 泸水县| 通城县| 正镶白旗| 隆子县|