【问题标题】:Select latest records by datetime field按日期时间字段选择最新记录
【发布时间】:2009-10-26 20:40:00
【问题描述】:

如何按 SQL Server 的日期时间选择最新记录?

这是伪代码...

SELECT Records 
  FROM MyTable 
 WHERE current time >= (CurrentTime - 2 minutes)

假设当前时间是晚上 10:25:39

26/10/2009 10:25:39 pm
26/10/2009 10:25:00 pm
26/10/2009 10:24:53 pm
26/10/2009 10:24:19 pm
26/10/2009 10:23:58 pm
26/10/2009 10:14:56 pm
26/10/2009 10:12:56 pm

SQL 查询应该返回这些记录...

26/10/2009 10:25:39 pm
26/10/2009 10:25:00 pm
26/10/2009 10:24:53 pm
26/10/2009 10:24:19 pm

【问题讨论】:

    标签: sql sql-server tsql


    【解决方案1】:

    真实代码:

    SELECT * FROM MyTable WHERE currentTime >= DATEADD(n, -2,  GETDATE())
    ORDER BY currentTime DESC
    

    【讨论】:

    • +1 表示没有将 DateAdd 函数放在列上!我总是喜欢注意潜在索引使用的查询(而且我看到这种“混乱”发生的次数比我关心的要多)。
    【解决方案2】:

    用途:

    WHERE t.currenttime BETWEEN DATEADD(mi, -2, GETDATE()) AND GETDATE()
    ORDER BY t.currenttime DESC
    

    参考资料:

    【讨论】:

      猜你喜欢
      • 2011-06-14
      • 2021-11-19
      • 2014-03-25
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      相关资源
      最近更新 更多