0
我有table1,列DATETIME
,ID
和Status
。來自SQL的最後48小時的記錄
我會在特定小時後打電話給我的存儲過程,並且我想獲取最近48個非週末時間的記錄。
我試圖通過爲getdate()
的每一天寫案例來做到這一點。
我想知道做到這一點的最佳方法是什麼。
我有table1,列DATETIME
,ID
和Status
。來自SQL的最後48小時的記錄
我會在特定小時後打電話給我的存儲過程,並且我想獲取最近48個非週末時間的記錄。
我試圖通過爲getdate()
的每一天寫案例來做到這一點。
我想知道做到這一點的最佳方法是什麼。
爲避免週末,您可以在where
中使用case
或其他邏輯。在週末的日子裏,你的邏輯並不完全清楚。但在這裏是一種方法:
where (datename(wk, getdate()) in ('Sunday', 'Monday', 'Tuesday') and datetime >= dateadd(hour, 48 + 48, getdate())) or
(datename, wk, getdate()) in ('Wednesday', 'Thursday', 'Friday') and datetime >= dateadd(hour, 48, getdate()) or
(datename , wk, getdate()) in ('Saturday') and datetime >= dateadd(hour, 24 + 48, getdate());
嗨 我確切地試過這個 – smith
你爲什麼不試試這個:http://stackoverflow.com/questions/4156011/how-to-select-rows-for-a-specific-date-ignoring- time-in-sql-server – najeeb
非週末時間?這是否意味着週六和週日不計算在內?或者星期五下午五點到星期一上午八點之後? – jarlh
星期六星期日不算 – smith