Share via


sys.fn_cdc_is_bit_set (Transact-SQL)

Se aplica a:SQL Server

Indica si se ha actualizado una columna capturada comprobando si su posición ordinal está dentro de una máscara de bits proporcionada.

Convenciones de sintaxis de Transact-SQL

Sintaxis

  
sys.fn_cdc_is_bit_set ( position , update_mask )  

Argumentos

position
Es la posición ordinal en la máscara que hay que comprobar. position es int.

update_mask
Es la máscara que identifica las columnas actualizadas. update_mask es varbinary(128).

Tipo de valor devuelto

bit

Comentarios

Esta función se utiliza normalmente como parte de una consulta de datos modificados para indicar si una columna ha cambiado. En este escenario, la función sys.fn_cdc_get_column_ordinal se usa antes de la consulta para obtener el ordinal de columna necesario. sys.fn_cdc_is_bit_set se aplica a cada fila de datos modificados que se devuelve, proporcionando la información específica de la columna como parte del conjunto de resultados devuelto.

Se recomienda usar esta función en lugar de la función sys.fn_cdc_has_column_changed al determinar si las columnas han cambiado para todas las filas de un conjunto de resultados devuelto.

Permisos

Debe pertenecer al rol public .

Ejemplos

El ejemplo siguiente usa sys.fn_cdc_is_bit_set para anteponer al conjunto de resultados generado por la función de consultacdc.fn_cdc_get_all_changes_HR_Department la columna 'IsGroupNmUpdated' que usa el ordinal de la columna precalculado y el valor de __$update_mask como argumentos de la llamada.

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  

Consulte también

Funciones de captura de datos modificados (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)
Acerca de la captura de datos modificados (SQL Server)