sys.fn_cdc_is_bit_set (Transact-SQL)

Область применения: SQL Server

Указывает, был ли обновлен отслеживаемый столбец, проверяя установку его порядкового положения в битовой маске.

Соглашения о синтаксисе Transact-SQL

Синтаксис

  
sys.fn_cdc_is_bit_set ( position , update_mask )  

Аргументы

position
Порядковое положение в битовой маске. положение имеет значение int.

update_mask
Маска, идентифицирующая обновленные столбцы. update_mask является varbinary(128).

Тип возвращаемых данных

bit

Замечания

Эта функция обычно используется как часть запроса изменения данных для определения изменения столбца. В этом сценарии функция sys.fn_cdc_get_column_ordinal используется перед запросом для получения требуемого порядкового номера столбца. sys.fn_cdc_is_bit_set затем применяется к каждой строке возвращаемых данных об изменениях, предоставляя сведения о столбцах в составе возвращаемого результированного набора.

Мы рекомендуем использовать эту функцию вместо функции sys.fn_cdc_has_column_changed при определении того, изменились ли столбцы для всех строк возвращаемого результирующего набора.

Разрешения

Необходимо быть членом роли public.

Примеры

В следующем примере функция sys.fn_cdc_is_bit_set используется для присоединения к результирующему набору, созданному функцией запроса cdc.fn_cdc_get_all_changes_HR_Department, столбца IsGroupNmUpdated с помощью предварительно вычисленного порядкового номера столбца и значения __$update_mask в качестве аргументов.

USE AdventureWorks2022;  
GO  
DECLARE @from_lsn binary(10), @to_lsn binary(10), @GroupNm_ordinal int;  
SET @from_lsn = sys.fn_cdc_get_min_lsn('HR_Department');  
SET @to_lsn = sys.fn_cdc_get_max_lsn();  
SET @GroupNm_ordinal = sys.fn_cdc_get_column_ordinal('HR_Department','GroupName');  
  
SELECT sys.fn_cdc_is_bit_set(@GroupNm_ordinal,__$update_mask) as 'IsGroupNmUpdated', *  
FROM cdc.fn_cdc_get_all_changes_HR_Department( @from_lsn, @to_lsn, 'all')  
WHERE __$operation = 4;  
GO  

См. также

Функции отслеживания измененных данных (Transact-SQL)
sys.fn_cdc_get_column_ordinal (Transact-SQL)
sys.fn_cdc_has_column_changed (Transact-SQL)
<cdc.fn_cdc_get_all_changes_capture_instance> (Transact-SQL)
<cdc.fn_cdc_get_net_changes_capture_instance> (Transact-SQL)
Отслеживание измененных данных (SQL Server)