sql指定時間段
Ⅰ sql語句查詢特定時間段的數據怎麼寫
SQL伺服器:
Select*fromtablewhere'2008-7-1'和'2008-12-31'
訪問:
從表中選擇發生日期>#2008-7-1#和發生日期<#2008-12-31#
就是這樣:注意,SQLserver中的日期和訪問有一點不同。
(1)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指定的訂單
Ⅱ sql怎麼查詢指定時間段內包含某個內容的所有數據
sql server
SELECT * FROM 表名 WHERE datepart(hour,tm)=12 and datepart(minute,tm)=0 and datepart(second,tm)=0 and datediff(month,tm,getdate())<1
access:用now()代替山鍵getdate()
oracle:用sysdate代替絕唯轎並肆getdate()
Ⅲ sql如何按時間段來查詢
select * from ms_cf01 a where a.kfrq between to_date('20100101 180000','yyyymmdd hh24miss')
and to_date('20101231 180000','yyyymmdd hh24miss')
and to_char(a.kfrq,'hh24miss') between '180000' and '240000'
主要用到 to_char,to_date對時間欄位的轉換方法,具體使用方法可
如果這么查詢,主要是第2個條件無法用上索引,所以最好的方式是在涉及表的時候將該欄位拆成2個欄位 日期 ,時間,並用整形表示
Ⅳ 計算指定時間段內的時間差SQL
首先你要有一張工作日的表用來join
之後的事情就好做了,肆培假設我說的這個表只有一個判雹嫌日期,表名working_day , 欄位 workday
select b.workday,
case when convert(varchar,a.creationtime,8)>='8:00:00' then a.creationtime else '8:00:00' end as starttime,
case when convert(varchar,a.completetiontime,8)<='18:00:00' then a.completetiontime else '8:00:00' end as endtime
from your_table_name a
left join working_day b on a.creationtime>=b.workday and a.completetiontime<=b.workday
;
然後每天的開始時間和結束時間用datadiff取出小時就好掘手了
Ⅳ sql server怎麼判斷一個時間是在某一時間段
select * from 表 where 日期欄位=【開始日期】and 日期欄位=【截止日期】。
and convert(char(8),日期欄位,108)=【開始時間】and convert(char(8),日期欄位,108)<=【截止時間】。
Ⅵ SQL server 獲取指定時間段指定記錄行的效率
你可以在你的表拍拆中添加個錄入日期或者自增列。
這樣你查詢 select top 1000 * from table where proct = 'A' order by 錄入備派日期 (或者自增列名)襲滾棗 desc
查詢B 產品: select top 1000 * from table where proct = 'B' order by 錄入日期 (或者自增列名) desc
這樣你不管A和B的數據量多少,都不用日期來限定,只取出最後的1000條,無需考慮日期。
Ⅶ sql 查詢某一時間段內每日每種類型的最後一條數據
'查詢某一時間段內每日每種類型的最後一條數據
select Top 1 日期,類型
from 表名
where 時間 between 開始時間 and 結束時間
group by 日期,類型
order by 日期,類型 desc
以上代碼只能查詢出 日期,類型 兩個欄位,且大鬧扮只能查詢出一條記錄
後面想想,樓主的提問好像不是這個意滾灶思,是 每天 每種類型 最後一筆 都要出來的話,應該是這樣:彎凳
select Max(時間),日期,類型
from 表名
where 時間 between 開始時間 and 結束時間
group by 時間
Ⅷ SQL語句,取指定時間段內的數據
select * from " tableName " where DATA_TIME >=『2012-01-01』 and DATA_TIME < 『2013-1-1』
sql可以直接寫時間字迅差符串,如果你是兄祥傳過來的參數的話,如果像『2012-01-01這樣的字羨昌搏符串就可以直接比較,如果不是,可以convert(datetime,你的字元串)
希望能幫到你
Ⅸ 如何用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))
Ⅹ sql語句判斷時間區間的問題
1、首先,我們來定義一個瞎搜時間欄位的參數,暫且命名為Date,語句為:declare @Date datetime。