Bagikan melalui


sys.fn_cdc_is_bit_set (T-SQL)

Berlaku untuk: SQL Server

Menunjukkan apakah kolom yang diambil telah diperbarui dengan memeriksa apakah posisi ordinalnya diatur dalam bitmask yang disediakan.

Konvensi sintaks transact-SQL

Sintaks

  
sys.fn_cdc_is_bit_set ( position , update_mask )  

Argumen

posisi
Apakah posisi ordinal dalam masker untuk diperiksa. posisi int.

update_mask
Apakah masker mengidentifikasi kolom yang diperbarui. update_mask adalah varbinary(128).

Jenis Hasil

bit

Keterangan

Fungsi ini biasanya digunakan sebagai bagian dari kueri data perubahan untuk menunjukkan apakah kolom telah berubah. Dalam skenario ini, fungsi sys.fn_cdc_get_column_ordinal digunakan sebelum kueri untuk mendapatkan ordinal kolom yang diperlukan. sys.fn_cdc_is_bit_set kemudian diterapkan ke setiap baris data perubahan yang dikembalikan, memberikan informasi khusus kolom sebagai bagian dari tataan hasil yang dikembalikan.

Sebaiknya gunakan fungsi ini alih-alih fungsi sys.fn_cdc_has_column_changed saat menentukan apakah kolom telah berubah untuk semua baris kumpulan hasil yang dikembalikan.

Izin

Memerlukan keanggotaan dalam peran publik .

Contoh

Contoh berikut menggunakan sys.fn_cdc_is_bit_set untuk prepend ke kumpulan hasil yang dihasilkan oleh fungsi cdc.fn_cdc_get_all_changes_HR_Department kueri kolom 'IsGroupNmUpdated' menggunakan kolom ordinal yang telah dikomputasi dan nilai __$update_mask sebagai argumen untuk panggilan.

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  

Lihat Juga

Mengubah Fungsi Pengambilan Data (Transact-SQL)
sys.fn_cdc_get_column_ordinal (T-SQL)
sys.fn_cdc_has_column_changed (T-SQL)
<cdc.fn_cdc_get_all_changes_capture_instance> (T-SQL)
<cdc.fn_cdc_get_net_changes_capture_instance> (T-SQL)
Tentang Mengubah Penangkapan Data (SQL Server)