子句之间的时间表 - 包含不应该包含的行?
Temporal Tables Between Clause - Rows are included that shouldn't be?
我有一个 SQL Server 2016 临时 table。我执行了一个可以在下面看到的查询以及结果。我很好奇为什么包含以绿色突出显示的行。 ValidFrom 值出现在开始日期“7/12/2018 19:16:00”之前,ValidTo 出现在结束日期“7/12/2018 19:30:00”之后。
我对 BETWEEN / AND 的理解可能不正确,因为它会发现所有在两个时间点之间修改的行。
时间 table 上的 BETWEEN 子句显示在选定时间范围内处于活动状态的那些行。用更常规的术语来说,满足此条件的行集:
WHERE StartTime <= <EndDateTime>
AND EndTime > <StartDateTime>
如您所见,这不需要实际时间戳落在您的 BETWEEN 日期内。
我有一个 SQL Server 2016 临时 table。我执行了一个可以在下面看到的查询以及结果。我很好奇为什么包含以绿色突出显示的行。 ValidFrom 值出现在开始日期“7/12/2018 19:16:00”之前,ValidTo 出现在结束日期“7/12/2018 19:30:00”之后。
我对 BETWEEN / AND 的理解可能不正确,因为它会发现所有在两个时间点之间修改的行。
时间 table 上的 BETWEEN 子句显示在选定时间范围内处于活动状态的那些行。用更常规的术语来说,满足此条件的行集:
WHERE StartTime <= <EndDateTime>
AND EndTime > <StartDateTime>
如您所见,这不需要实际时间戳落在您的 BETWEEN 日期内。