sys.fn_cdc_get_column_ordinal (Transact-SQL)

適用於:SQL Server

傳回指定資料行的資料行序數,因為它出現在 與指定擷取實例相關聯的變更資料表 中。

Transact-SQL 語法慣例

語法

  
sys.fn_cdc_get_column_ordinal ( 'capture_instance','column_name')  

引數

' capture_instance '
這是將指定資料行識別為擷取資料行的擷取實例名稱。 capture_instance sysname

' column_name '
這是要報告的資料行。 column_name sysname

傳回類型

int

備註

此函式可用來識別異動資料擷取更新遮罩內所擷取資料行的序數位置。 它主要與 函式搭配使用, sys.fn_cdc_is_bit_set在查詢變更資料時,從更新遮罩擷取資訊。

權限

需要來源資料表所有擷取資料行的 SELECT 許可權。 如果已為擷取實例指定異動資料擷取元件的資料庫角色,也需要該角色的成員資格。

範例

下列範例會取得擷取實例之更新遮罩 HumanResources_Employee 中資料行的序數位置 VacationHours 。 然後,呼叫 中 sys.fn_cdc_is_bit_set 會使用該值,從傳回的更新遮罩擷取資訊。

USE AdventureWorks2022;  
GO  
DECLARE @from_lsn binary(10), @to_lsn binary(10),  @VacationHoursOrdinal int;  
SET @from_lsn = sys.fn_cdc_get_min_lsn('HumanResources_Employee');  
SET @to_lsn = sys.fn_cdc_get_max_lsn();  
SET @VacationHoursOrdinal = sys.fn_cdc_get_column_ordinal   
    ( 'HumanResources_Employee','VacationHours');  
SELECT *, sys.fn_cdc_is_bit_set(@VacationHoursOrdinal,  
    __$update_mask) as 'VacationHours'  
FROM cdc.fn_cdc_get_net_changes_HumanResources_Employee  
    ( @from_lsn, @to_lsn, 'all with mask');  
GO  

另請參閱

異動資料擷取函數 (Transact-SQL)
關於異動資料擷取 (SQL Server)
sys.sp_cdc_help_change_data_capture (Transact-SQL)
sys.sp_cdc_get_captured_columns (Transact-SQL)
sys.fn_cdc_is_bit_set (Transact-SQL)