时态表SYSTEM_TIME范围不起作用

问题描述

我有一个定义为的时态表:

CREATE TABLE [dbo].[MyTable](
    [Id] [int] IDENTITY(1,1) NOT NULL,[Name] [varchar](200) NOT NULL,[Description] [varchar](100) NULL,[CreatedOn] [datetime] NULL,[LastUpdatedOn] [datetime] NULL,[SysstartTime] [datetime2](7) GENERATED ALWAYS AS ROW START NOT NULL,[SysEndTime] [datetime2](7) GENERATED ALWAYS AS ROW END NOT NULL
 CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF,STATISTICS_norECOmpuTE = OFF,IGnorE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON,ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],PERIOD FOR SYstem_TIME ([SysstartTime],[SysEndTime])
) ON [PRIMARY]
WITH
(
SYstem_VERSIONING = ON ( HISTORY_TABLE = [dbo].[MyTable_History] )
)

当我尝试执行这样的查询时:

SELECT * FROM MyTable FOR SYstem_TIME from '2020-08-18 00:00:00' to '2020-08-18 23:59:59' 

我似乎也得到了不在该范围内的行。例如,

Name1 Description1 2018-07-05 22:53:36.543 2020-03-17 16:25:44.707 2020-07-22 18:21:03.9662004 9999-12-31 23:59:59.9999999

2020-07-22不在范围内,但为什么显示呢?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)