Temporal Tables是 Temporal Tables 及更高版本中的一个新功能SQL Server 2016
,它就像一种有趣的方式SQL Server
来自动保存表中的数据历史记录,但是引入了一些新的 T-SQL 语法SQL Server 2016
来支持 Temporal Tables。我对他们中的一些人有误解。
来自官方文档的描述BETWEEN <start_date_time> AND <end_date_time>
如下:
与上面的 FOR SYSTEM_TIME FROM TO 描述相同,除了返回的行表包括在端点定义的上边界上变为活动的行。
并且描述CONTAINED IN (<start_date_time>, <end_date_time>)
如下:-
返回一个表,其中包含在 CONTAINED IN 参数的两个日期时间值定义的指定时间范围内打开和关闭的所有行版本的值。包括恰好在下边界上变为活动或在上边界上停止活动的行。
CONTAINED IN (@start,@end)
所以我明白, andBETWEEN
子句之间的唯一不同CONTAINED IN (@start, @end)
是包含@start 边界,而BETWEEN
子句不是。我对吗?