sys.fn_cdc_has_column_changed (Transact-SQL)

Identifies whether the specified update mask indicates that the specified column has been updated in the associated change row.

Topic link icon Transact-SQL Syntax Conventions

sys.fn_cdc_has_column_changed ( 'capture_instance','column_name' , update_mask )


Is the name of the capture instance. capture_instance is sysname.


Is the captured column of the specified capture instance to report on. column_name is sysname.


Is the mask identifying updated columns in any associated change row. update_mask is varbinary(128).

You can use this function to extract information from an update mask returned in a query for change data. It is most useful in post-processing the update mask when you need to know whether a particular column in the associated change row has been modified. For more information, see Retrieving and Understanding the Change Data.

When this information will be returned as part of a change data query, we recommend that you use the functions sys.fn_cdc_get_column_ordinal and sys.fn_cdc_is_bit_set instead of this function. Use the function fn_cdc_get_column_ordinal before querying for change data so that the desired column ordinal is only computed once. Use fn_cdc_is_bit_set within the query to extract the information from the update mask for each returned row.

Requires membership in the sysadmin fixed server role or db_owner fixed database role. For all other users, requires SELECT permission on all captured columns in the source table and, if a gating role for the capture instance was defined, membership in that database role.

Community Additions