我試圖讓適合在時隙從一個表,其中從數據庫中獲得
- 時隙開始在當前日期時間地板滿小時
- 時隙兩端一定日期時隙在當前日期時間地板到整小時加2小時
這樣一個DateTime是2011-06-24 09:21:40.020
可能是之間:
2011-06-24 09:00:00.000 AND 2011-06-24 11:00:00.000
目前我已經得到了這一點,但我覺得嵌套DATEADD
是多餘的。有沒有更乾淨的方法來做到這一點?
SELECT dbo.Computer.ComputerName, dbo.Planned.DatePlanned
FROM dbo.Computer INNER JOIN
dbo.Planned ON dbo.Computer.ComputerID = dbo.Planned.ComputerID
WHERE dbo.Planned.DatePlanned
BETWEEN
(SELECT DATEADD(Hour, DATEDIFF(Hour, 0, GETDATE()), 0))
AND
(SELECT DATEADD(Hour, DATEDIFF(Hour, 0, DATEADD(Hour, 2, GETDATE())), 0))
這應該會給我在當前活動時間段內的所有ComputerNames和Planned Dates。