sqlserver之datepart和datediff應(yīng)用查找當(dāng)天上午和下午的數(shù)據(jù)
DATEPART() 函數(shù)用于返回日期/時間的單獨部分,比如年、月、日、小時、分鐘等等。
DATEDIFF() 函數(shù)返回兩個日期之間的時間差。
--查找當(dāng)天上午的數(shù)據(jù) select * from R_Attendance where (datepart(hour,RDatetime)>=0 and datepart(hour,RDatetime)<12) and datediff(d,RDatetime,GetDate())=0 --查找當(dāng)天下午的數(shù)據(jù) select * from R_Attendance where (datepart(hour,RDatetime)>12 and datepart(hour,RDatetime)<=23) and datediff(d,RDatetime,GetDate())=0
計算兩個時間差
相差年數(shù):SELECT DATEDIFF(YEAR,'2017-07-01 11:25:52','2018-07-02 12:25:52'); 結(jié)果:1
相差天數(shù):SELECT DATEDIFF(DAY,'2018-07-01 11:25:52','2018-07-02 12:25:52'); 結(jié)果:1
相差小時:SELECT DATEDIFF(HOUR,'2018-07-01 11:00:00','2018-07-01 16:00:00'); 結(jié)果:5
相差分?jǐn)?shù):MINUTE,相差秒數(shù):SECOND,相差月數(shù):MONTH
獲取當(dāng)日、月、年的數(shù)據(jù):
根據(jù)以上計算時間差,我們可以得出結(jié)果,如下:
當(dāng)日:SELECT * FROM UserTable WHERE DATEDIFF(DAY, StartTime, GETDATE())=0
當(dāng)月:SELECT * FROM UserTable WHERE DATEDIFF(MONTH, StartTime, GETDATE())=0
當(dāng)年:SELECT * FROM UserTable WHERE DATEDIFF(YEAR, StartTime, GETDATE())=0
如果想要獲取前一天、月或年等,函數(shù)只需等于1即可,依次類推即可,反之獲取后一個月、年等。函數(shù)等于-1,在此就不一一列出了。
總結(jié)
以上所述是小編給大家介紹的sqlserver之datepart和datediff應(yīng)用查找當(dāng)天上午和下午的數(shù)據(jù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
判斷觸發(fā)器正在處理的是插入,刪除還是更新觸發(fā)
平常時寫觸發(fā)器(TRIGGER),一般會分別寫插入(INSERT),刪除(DELETE)和更新(UPDATE)單獨的觸發(fā)器2012-01-01sql 版本詳解 讓你認(rèn)識跟sql2000的區(qū)別
如果你是初學(xué)者,如果你只是想要在家里學(xué)習(xí)學(xué)習(xí),如果你的環(huán)境是 WindowsXP Pro,那么,你應(yīng)該選擇的 是 SQL2005 Development(開發(fā)版),而不是 SQL2005 Enterprise (企業(yè)版)或 SQL2005 Express(簡易版)。2010-05-05SQL Server 數(shù)據(jù)庫實用SQL語句
本文將詳細(xì)介紹SQL Server 數(shù)據(jù)庫實用SQL語句,需要了解更多的朋友可以參考下2012-11-11MSSQL轉(zhuǎn)MYSQL,gb2312轉(zhuǎn)utf-8無亂碼解決方法
MSSQL轉(zhuǎn)MYSQL,gb2312轉(zhuǎn)utf-8無亂碼解決方法,需要的朋友可以參考下。2010-06-06SqlServer中根據(jù)某幾列獲取重復(fù)的數(shù)據(jù)將其刪除并保留最新一條
有時候,我們某個數(shù)據(jù)表中,可能有幾列的數(shù)據(jù)都是一樣的,此時我們可能想查詢出這幾列數(shù)據(jù)相同的所有數(shù)據(jù)行,并保留最新一條,將其他重復(fù)的數(shù)據(jù)刪除,這篇文章主要介紹了SqlServer中根據(jù)某幾列獲取重復(fù)的數(shù)據(jù)將其刪除并保留最新一條,感興趣的朋友一起看看吧2024-04-04