sql查詢一段時間
1. sql查詢時間段
select * from 表 where 日期欄位>='開始日期' and 日期欄位<='截止日期'
and convert(char(8),日期欄位,108)>='開始時間' and convert(char(8),日期欄位,108)<='截止時間'
例如:
select * from tb1 where dDate>='2010-11-05' and dDate<='2010-11-15'
and convert(char(8),dDate,108)>='22:30:00' and convert(char(8),dDate,108)<='23:00:00'
2. SQL時間段的查詢問題!!!!
開始>'開始時間' and 結束<='結束時間'
3. select語句如何查找某個時間段的數據
select語句查找某個時間段的數據操作方式,如:select * from your_table where date_field between #startdate# AND #enddate#我們可以看到在上面這句Sql查詢代碼中有兩個時間變數,一個是startdate,一個是enddate。
設置的內容如:startdate為2013-11-20,enddate為2013-11-29。
那麼這句查詢就會變成:select * from your_table where date_field between 『2013-11-20』 AND 『2013-11-29』。其實是查詢2013-11-20日至2013-11-29兩個時間段之間的所有數據。
系統查詢語句讀取為:select * from your_table where date_field between 『2013-11-20 00:00:00』 AND 『2013-11-29 00:00:00』,有一數據是2013-11-2913:23:45,那麼該數據將不會列入查詢結果范圍里。
(3)sql查詢一段時間擴展閱讀:
SELECT語句返回用指定的條件在一個資料庫中查詢的結果,返回的結果被看作記錄的集合。
語法:SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]} FROM tableexpression [, ...] [IN externaldatabase] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ] [WITH OWNERACCESS OPTION]
說明:predicate可選參數,該參數可取值為ALL(預設值)、DISTINCT、DISTINCTROW 或TOP。如果該參數為ALL,則返回SQL語句中符合條件的全部記錄;如果為DISTINCT,則省略選擇欄位中包含重復數據的記錄;如果為DISTINCTROW,則省略基於整個重復記錄的數據,而不只是基於重復欄位的數據;如果為TOP n(n為一個整數),則返回特定數目的記錄,且這些記錄將落在由 ORDER BY 子句指定的前面或後面的范圍中。
4. 怎麼查詢一段時間內的數據,SQL語句怎麼查詢
SELECT * FROM mole_p WHERE to_char(create_time, 'yyyy/MM/dd') BETWEEN '2015/07/22' AND '2015/07/30';
to_char是格式化函數,將日期轉成指定的格式才可以做between and計算
5. SQL時間段的查詢問題如何解決
SQL時間段的查詢有兩個解決代碼:
1、select * from table where date between '2007-10-01' and '2008-10-01'
2、select * from table where date>'2007-10-01' and date<'2008-10-01'
其中,between包含了兩頭的日期,and不包含。
6. 如何用SQL查詢一個時間段內的特定時間數據
datetime型的精度是微秒級的,樓上兩位只寫到秒,還是有出錯的可能
將一個datetime取整(取到00:00)有3種方法:
convert(smalldatetime,convert(varchar,日期,112),112)
cast(cast(日期 as int) as smalldatetime)
dateadd(dd,datediff(dd,'2010-1-1',日期),'2010-1-1')
根據你的需求,用方法1,條件寫成
where tm>='2010-3-1' and tm<'2010-4-1'
and tm=dateadd(hh,12,convert(smalldatetime,convert(varchar,tm,112),112))
7. SQL語句查詢特定時間段的數據怎麼寫
SQL伺服器:
Select*fromtablewhere'2008-7-1'和'2008-12-31'
訪問:
從表中選擇發生日期>#2008-7-1#和發生日期<#2008-12-31#
就是這樣:注意,SQLserver中的日期和訪問有一點不同。
(7)sql查詢一段時間擴展閱讀:
SQL查詢日期語句
Select*fromShopOrderwheredatediff(week,ordTime,getdate()-1)=0//查詢第一年的日期
Select*fromShopOrder,其中datediff(day,ordTime,getdate()-1)=0//查詢當天的所有數據
SELECT * FROM A where datediff(d,datetime,getdate()) <=30 //前30天
SELECT * FROM A WHERE DATEDIFF(m, shijian, GETDATE()) <=1 //上個月
搜索當天記錄的其他方法:
SELECT*
FROMj_GradeShop
其中(GAddTimeBETWEENCONVERT(datetime,LEFT(GETDATE(),10)+'00:00:00.000'))
並轉換(datetime,LEFT(GETDATE(),10)+'00:00:00.00.000')+1)
由GAddTime指定的訂單
8. sql 查詢時間段
oracle的寫法:
select * from your_table a
where your_date_field between to_date(to_char(sysdate,'YYYYMMDD')||'00 00 00','YYYYMMDD HH24:MI:SS') and sysdate
9. 如何在SQL中按時間段查詢數據
sql server:
select * from 表 where 發生日期>'2008-7-1' and 發生日期<'2008-12-31'
access:
select * from 表 where 發生日期>#2008-7-1# and 發生日期<#2008-12-31#
這樣就可以了,注意sql server與access中的日期有一點不一樣。
(9)sql查詢一段時間擴展閱讀:
sql查詢日期語句
select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查詢當天日期在一周年的數據
select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 //查詢當天的所有數據
SELECT * FROM A where datediff(d,datetime,getdate()) <=30 //前30天
SELECT * FROM A WHERE DATEDIFF(m, shijian, GETDATE()) <=1 //上一月
查詢當天記錄另類的方法:
SELECT *
FROM j_GradeShop
WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000')
AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1)
ORDER BY GAddTime DESC