【问题标题】:SQL Server : Date to hours comparisonSQL Server:日期到小时的比较
【发布时间】:2014-12-09 22:29:52
【问题描述】:

我想检索过去 x 小时下订单的商品。如果表格将此数据存储为日期,我将如何获得最近 x 小时内的订单?

【问题讨论】:

  • 您能向我们介绍您在数据库中的一些日期吗?是日期还是日期时间?
  • 如果使用DATE,则无法按小时进行评估。
  • @user2684009 。 . .要么 sgeddes 的回答是正确的(你应该接受它),要么你应该澄清问题,指出它为什么不起作用。
  • 它确实将数据存储为日期时间

标签: sql sql-server-2008 reporting-services report


【解决方案1】:

假设该字段存储为datetime,您可以使用dateadd

select *
from orders
where datefield >= dateadd(hour,-1,getdate())

在上面的示例中,我使用 -1 表示 x。替换过去 x 小时的内容。

【讨论】:

    【解决方案2】:

    发布的答案 sgeddes 可以在查询级别上工作。您还可以在报告级别过滤过去 x 小时的数据。您只需要在报告中创建一个参数(@Hours)来指定“x”是什么。然后在您的数据集上添加一个过滤器。

    表达式:=Fields!DateTime.Value

    操作员:>=

    值:=DateAdd("h",-@Hours,Now())

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 2012-06-08
      • 2016-09-19
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多