值未更改时CHANGE_TRACKING_IS_COLUMN_IN_MASK

时间:2017-02-22 12:24:44

标签: sql-server change-tracking

想象一下,我有一个启用了更改跟踪的表,并且我为给定的主键更新了表的列。我更新的值是之前已经存在的SAME值。

查看docs,MSDN说如果列在集合change_columns中,则此函数将返回true。

  

CHANGE_TRACKING_IS_COLUMN_IN_MASK返回以下值。

     

0:指定的列不在change_columns列表中。

     

1:指定的列位于change_columns列表中。

查看further change_columns 列表是CHANGETABLE.SYS_CHANGE_COLUMNS属性的包装,其定义为:

  

列出自last_sync_version以来已更改的列(   基线)。

哪个含糊不清。在这种情况下,“改变”意味着什么?如果值相同则改变了吗?

有人知道答案吗?

1 个答案:

答案 0 :(得分:0)

我只是尝试了它并且可以报告是,CHANGE_TRACKING_IS_COLUMN_IN_MASK在更改列值时返回true,而不管实际的更改delta是什么。