sql時間段
① sql語句如何刪除一段時間內的記錄
1、使用BETWEEN關鍵字根據時間欄位刪除一定時間內的記錄
DELETEFROM表名WHERE時間欄位BETWEEN開始時間AND結束時間
示例:
'2017-01-0100:00:00'AND'2017-02-0100:00:00'
--刪除tb表中2017年1月1日到2017年2月1日的數據
2、使用時間欄位比較大小來確定刪除范圍
--語法:
DELETEFROM表名WHERE時間欄位>=開始時間AND時間欄位<=結束時間
示例:
DELETEFROMtbWHERECreateTime>='2017-01-0100:00:00'ANDCreateTime<='2017-02-0100:00:00'
② SQL時間段比較
CASE WHEN( KSSJ<JSSJ
AND B<KSSJ
AND A<B)
OR (KSSJ<JSSJ AND A>JSSJ AND A<B)
就滿足,就是 kssj小於jssj,並且 輸入的結束時間小於 kssj 滿足
或者 kssj小於jssj,並且 輸入的開始時間大於 jssj滿足 就這2中情況
③ 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'
④ 關於SQL時間段查詢
Select * From 表名
Where to_date(日期欄位,'mm/dd/yyyy hh24:mi:ss') Between
to_date('2/1/2008 00:00:00','mm/dd/yyyy hh24:mi:ss')
And to_date('2/15/2008 23:59:59 hh24:mi:ss')
日期欄位最好強轉下格式用to_date()
⑤ sql查詢時間段
假設A表的時間欄位為A_Date,B表的欄位為B_Date,再假設A表的ID為B表A_Id的FK,因此建議你可以試用如下語句:
select datediff(day,A.A_Date,B.B_Date) from A,B where a.ID=b.A_Id
其中:day代表這A_Date與B_Date時間之間的天數;該參數還有其他格式,請搜索SQL幫助;
另外也可以使用select A.A_Date-B.B_Date from A,B where a.ID=b.A_Id
該語句得出的時間是距離1900-01-01 00:00:00起的時間值
⑥ 如何在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中的日期有一點不一樣。
(6)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
⑦ 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不包含。
⑧ sql合並多個時間段
如果是oracle 我會使用一個臨時表,包含人員,持續開始時間,持續結束時間,處理任務,處理方法如下
首先取出某員工一天的所有工作記錄,按開始時間排序後逐條處理
首先將第一條記錄插入到臨時表中,持續開始時間為 開始時間,持續結束時間為結束時間,處理任務為1;
在取到後續記錄時,作如下處理
如果開始時間 > 臨時表中已經存在的所有結束時間,則新增一條記錄,與第一條處理方式一致;
如果開始時間 <=臨時表中已經存在的某一結束時間處理如下
如果 結束時間 <=臨時表中已經存在的某一結束時間,不作任何插入和更新;
如果 結束時間 >臨時表中已經存在的某一結束時間,更新臨時表中對應記錄為當前取到的結束時間;
按照以上規則直至所有數據均處理完成,此時臨時表中獲得的是不重疊的所有工作時間,採用group 即可獲得一天是實際工作時間,進而可以求出休息時間。
⑨ SQL語句查詢特定時間段的數據怎麼寫
SQL伺服器:
Select*fromtablewhere'2008-7-1'和'2008-12-31'
訪問:
從表中選擇發生日期>#2008-7-1#和發生日期<#2008-12-31#
就是這樣:注意,SQLserver中的日期和訪問有一點不同。
(9)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時間段的查詢問題!!!!
開始>'開始時間' and 結束<='結束時間'