代码之家  ›  专栏  ›  技术社区  ›  ahmed abdelqader

包含在(@start,@end)VS-temporal表之间

  •  2
  • ahmed abdelqader  · 技术社区  · 8 年前

    时态表 是中的新功能 SQL Server 2016 更重要的是,这是一个有趣的方式 SQL Server 为了自动在表中保留数据的历史记录,中引入了一些新的T-SQL语法 SQL Server 2016版 支持时态表。我对其中一些人有误解。

    从 official documentation 描述 BETWEEN <start_date_time> AND <end_date_time>

    说明,但返回的行表除外 终结点。

    以及 CONTAINED IN (<start_date_time>, <end_date_time>)

    并在两个datetime定义的指定时间范围内关闭 参数中包含的值。完全处于活动状态的行 包括边界。

    所以我明白了,唯一不同的是 CONTAINED IN (@start,@end) BETWEEN 子句是 CONTAINED IN (@start, @end) 介于 子句不是。我说得对吗?

    1 回复  |  直到 7 年前
        1
  •  4
  •   Shimmy Weitzhandler 500 - Internal Server Error    7 年前

    在 this 第条, @Ameena Lalani 解释并演示了搜索时态表的各种选项,这些选项都解释得很好,请务必阅读整篇文章。

    • FROM <start_datetime> TO <end_datetime>
      返回结合时间表和历史表的结果,不包括结束时间的上限。
    • BETWEEN <start_datetime> AND <end_datetime>
      返回时间表和历史表的组合结果,包括结束时间的上限。
    • CONTAINED IN (start_datetime, end_datetime)
      只返回历史记录表中的结果,包括时间的上下限。

    以下是那篇文章的截图:

    推荐文章