1
A
回答
0
測試數據
Declare @T TABLE (EmpID INT , Enter DATETIME , [Exit] DATETIME)
INSERT INTO @T VALUES
(1 , '2017-01-22 09:26:00.000' , '2017-01-22 15:25:00.000')
,(1 , '2017-01-21 10:15:00.000' , '2017-01-21 12:00:00.000')
,(1 , '2017-01-20 09:05:00.000' , '2017-01-20 13:05:00.000')
,(1 , '2017-01-21 10:15:00.000' , '2017-01-21 12:00:00.000')
,(2 , '2017-01-22 09:26:00.000' , '2017-01-22 15:26:00.000')
,(2 , '2017-01-21 10:15:00.000' , '2017-01-21 12:30:00.000')
,(2 , '2017-01-20 09:05:00.000' , '2017-01-20 13:05:00.000')
查詢
Select EmpID
, CONVERT(VARCHAR(10) ,DATEADD(DAY, - (DATEPART(WEEKDAY, Enter)-1), Enter) , 104) [WeekStart]
, CONVERT(VARCHAR(10) ,DATEADD(DAY, 7- (DATEPART(WEEKDAY, Enter)), Enter) , 104) [WeekEnd]
, CAST(SUM(DATEDIFF(minute,Enter, [Exit]))/60.00 AS DECIMAL(10,2)) [Hours Worked]
FROM @T
GROUP BY EmpID
, CONVERT(VARCHAR(10) ,DATEADD(DAY, - (DATEPART(WEEKDAY, Enter)-1), Enter) , 104)
, CONVERT(VARCHAR(10) ,DATEADD(DAY, 7- (DATEPART(WEEKDAY, Enter)), Enter) , 104)
結果集
╔═══════╦════════════╦════════════╦══════════════╗
║ EmpID ║ WeekStart ║ WeekEnd ║ Hours Worked ║
╠═══════╬════════════╬════════════╬══════════════╣
║ 1 ║ 15.01.2017 ║ 21.01.2017 ║ 7.50 ║
║ 1 ║ 22.01.2017 ║ 28.01.2017 ║ 5.98 ║
║ 2 ║ 15.01.2017 ║ 21.01.2017 ║ 6.25 ║
║ 2 ║ 22.01.2017 ║ 28.01.2017 ║ 6.00 ║
╚═══════╩════════════╩════════════╩══════════════╝
+0
您救了我,非常感謝。 – rebrikk
相關問題
- 1. 辦公室SQL查詢長運行時間
- 2. SQL Server - 通過計數來分割時間的查詢(重疊辦公室)
- 3. 辦公室辦公室文件在辦公室辦公室文件2007年登錄提示只在產品
- 4. 辦公室時間jQuery腳本
- 5. django查詢計算時間
- 6. SQL查詢,計算時間
- 7. 辦公室interop不能在多臺計算機上工作
- 8. 辦公室2013
- 9. 在Laravel計算查詢時間?
- 10. PHP計算兩個日期之間的辦公時間數
- 11. 反向列自由報辦公室計算的訂購
- 12. 開放式辦公室計算動態單元格選擇
- 13. 開放式辦公室電子表格計算
- 14. 辦公室365 Powershell
- 15. 辦公室2013字
- 16. 計算SQL查詢的執行時間?
- 17. Cassandra查詢執行時間計算
- 18. 計算查詢的時間消耗
- 19. C#使用查詢的計算時間
- 20. 出口xls文件和微軟辦公室和oppen辦公室
- 21. 將辦公室VSTO插件發佈到辦公室商店
- 22. 將辦公室加載項部署到辦公室365
- 23. SQL Server:按小時計算辦公室中的客戶端數量
- 24. 辦公室2016查找激活日期
- 25. MySQL查詢每個辦公室的郵政編碼的頻率
- 26. powershell exchange 2003:查詢ActiveDirectory的ActiveSync,辦公室和描述?
- 27. 辦公室365 API請求超時
- 28. 辦公室excel 2016與辦公室excel 2016相比,有沒有什麼辦公室可用?
- 29. 時間戳和時間間隔:NUMTOYMINTERVAL SYSTDATE計算SQL查詢
- 30. 計量辦公室和電力公司之間有什麼關係?
查找了'DATEPART'&'DATEDIFF' –
要獲取週數,請使用此SELECT DATEPART(周,@Dt) 然後使用週數創建查詢並進行聚合。 – Habeeb
對於幾個小時,你可以做sum(datediff等)在完成之前,確保你知道如何處理部分時間。對於開始和結束部分的一週,日曆表就派上用場了。這使您能夠指定星期是星期日還是星期一開始,還是指定星期,或者您的業務指定的任何星期。 –