SELECT WHERE DATETIME 与另一个 DATETIME 在 4 小时内 SQL Server 2000
SELECT WHERE DATETIME is within 4 hours of another DATETIME SQL Server 2000
我有两个数据类型为日期时间的表,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
使用dateadd()
where completeddate <= dateadd(hour, 4, createddate)
这应该适用于 SQL 服务器的两个版本。
注意:您要使用 dateadd()
而不是 datediff()
来获得恰好 4 小时。 datediff()
不计算两个日期时间之间的小时数。它计算两个日期时间之间 "hour transitions" 的数量。
此外,在执行此操作后,立即将旧数据库迁移到更新版本的 SQL 服务器。这应该是一个简单的过渡,强烈建议对任何应用程序使用受支持的软件。
我有两个数据类型为日期时间的表,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
使用dateadd()
where completeddate <= dateadd(hour, 4, createddate)
这应该适用于 SQL 服务器的两个版本。
注意:您要使用 dateadd()
而不是 datediff()
来获得恰好 4 小时。 datediff()
不计算两个日期时间之间的小时数。它计算两个日期时间之间 "hour transitions" 的数量。
此外,在执行此操作后,立即将旧数据库迁移到更新版本的 SQL 服务器。这应该是一个简单的过渡,强烈建议对任何应用程序使用受支持的软件。