【问题标题】:SELECT WHERE DATETIME is within 4 hours of another DATETIME SQL Server 2000SELECT WHERE DATETIME 在另一个 DATETIME SQL Server 2000 的 4 小时内
【发布时间】:2015-05-09 19:11:42
【问题描述】:

我有两个日期时间数据类型的表 CreatedDate 和 CompletedDate 和 我想找到 CompletedDate 在 CreatedDate 四个小时内的所有行。

我的源数据库是 SQL Server 2000,它链接到我的 SQL Server 2008。

Created Date                Completed Date

2015-03-05 11:47:27.030     2015-03-06 17:32:58.107

【问题讨论】:

    标签: sql sql-server datetime sql-server-2000


    【解决方案1】:

    使用dateadd()

    where completeddate <= dateadd(hour, 4, createddate)
    

    这应该适用于两个版本的 SQL Server。

    注意:您希望使用 dateadd() 而不是 datediff() 来获得正好 4 小时。 datediff() 不计算两个日期时间之间的小时数。它计算两个日期时间之间的“小时转换”次数。

    此外,在您执行此操作后,将旧数据库迁移到较新版本的 SQL Server。这应该是一个简单的过渡,强烈建议对任何应用程序使用受支持的软件。

    【讨论】:

      猜你喜欢
      • 2016-03-17
      • 1970-01-01
      • 1970-01-01
      • 2016-08-01
      • 2012-12-15
      • 2010-12-02
      • 2016-10-08
      • 2022-07-26
      • 1970-01-01
      相关资源
      最近更新 更多