CHANGE_TRACKING_IS_COLUMN_IN_MASK (Transact-SQL)
用于解释由 CHANGETABLE(CHANGES …) 函数返回的 SYS_CHANGE_COLUMNS 值。 这使应用程序能够确定指定的列是否包含在为 SYS_CHANGE_COLUMNS 返回的值中。
语法
CHANGE_TRACKING_IS_COLUMN_IN_MASK ( column_id , change_columns )
参数
column_id
是正在被检查的列的 ID。 可以使用 COLUMNPROPERTY 函数获取此列 ID。change_columns
是 CHANGETABLE 数据的 SYS_CHANGE_COLUMNS 列中的二进制数据。
返回类型
bit
返回值
CHANGE_TRACKING_IS_COLUMN_IN_MASK 返回下列值。
返回值 |
说明 |
---|---|
0 |
指定的列不在 change_columns 列表中。 |
1 |
指定的列在 change_columns 列表中。 |
注释
CHANGE_TRACKING_IS_COLUMN_IN_MASK 不执行任何检查来验证 column_id 值或验证从中获取 change_columns 参数的表与从中获取 column_id 的表是同一个表。
示例
下面的示例确定是否已更新 Employees 表的 Salary 列。 COLUMNPROPERTY 函数返回 Salary 列的列 ID。 必须使用 CHANGETABLE 作为数据源将 @change\_columns 局部变量设置为查询的结果。
SET @SalaryChanged = CHANGE_TRACKING_IS_COLUMN_IN_MASK
(COLUMNPROPERTY(OBJECT_ID('Employees'), 'Salary', 'ColumnId')
,@change_columns);