日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用between and查找时间范围时的日期边界问题

發(fā)布時間:2025/3/12 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用between and查找时间范围时的日期边界问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近在一個項目的后臺數(shù)據(jù)庫查找中,需要根據(jù)表中的時間字段查找某一范圍內(nèi)的數(shù)據(jù)(7天、15天、30天),這時我想用between and(其實使用DateDiff函數(shù)就可以完成,詳情請看另一片文章:SQL查詢今天、昨天、7天內(nèi)、30天),但我對于between and查找時間范圍時的邊界問題不是特別清楚,所以在網(wǎng)上查找了相關(guān)資料,在這兒做個簡單的記錄。

首先要了解between操作符的用法,操作符 BETWEEN … AND 會選取介于兩個值之間的數(shù)據(jù)范圍。這些值可以是數(shù)值、文本或者日期。

SQL中的BETWEEN 語法

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

例如:

//SELECT * FROM 表名 WHERE 日期字段名 BETWEEN '20170101020304' AND '20170101020304' SELECT * FROM student_info WHERE `createDate` between '20170101020304' and '20180101020304' //等同于: SELECT * FROM student_info WHERE `createDate` >= '20170101020304' and `createDate` <= '20180101020304'

需要注意的是

不同的數(shù)據(jù)庫對 BETWEEN…AND 操作符的處理方式是有差異的。某些數(shù)據(jù)庫會列出介于 “Adams” 和 “Carter” 之間的人,但不包括 “Adams” 和 “Carter” ;某些數(shù)據(jù)庫會列出介于 “Adams” 和 “Carter” 之間并包括 “Adams” 和 “Carter” 的人;而另一些數(shù)據(jù)庫會列出介于 “Adams” 和 “Carter” 之間的人,包括 “Adams” ,但不包括 “Carter” 。

所以,請檢查你的數(shù)據(jù)庫是如何處理 BETWEEN…AND 操作符的!

一般情況

SQL Server中 between and是包括邊界值的,not between不包括邊界值,不過如果使用between and 限定日期需要注意,如果and后的日期是到天的,那么默認為00:00:00 例如:and 后的日期為2017年04月06日,就等價于2017-04-06 00:00:00 ,那么2017-04-06 15:10:34的數(shù)據(jù)就差不到了,需要進行to_char處理。

總結(jié)

以上是生活随笔為你收集整理的使用between and查找时间范围时的日期边界问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。