CHANGE_TRACKING_IS_COLUMN_IN_MASK (Transact-SQL)

用于解释由 CHANGETABLE(CHANGES …) 函数返回的 SYS_CHANGE_COLUMNS 值。 这使应用程序能够确定指定的列是否包含在为 SYS_CHANGE_COLUMNS 返回的值中。

主题链接图标Transact-SQL 语法约定

语法

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);