从SQL获取最近48小时的记录

时间:2016-02-08 12:51:46

标签: sql sql-server sql-server-2008

我的table1包含DATETIMEIDStatus列。

我会在特定时间后调用我的存储过程,并且我想获取最近48个非周末时间的记录。

我尝试通过为getdate()的每一天撰写案例来做到这一点。

我想知道最好的方法是什么。

1 个答案:

答案 0 :(得分:1)

为了避免周末,您可以使用case中的where或其他逻辑。你的逻辑并不是100%明确在周末做什么。但这是一种方法:

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());