共用方式為


衍生的資料行轉換

更新: 2006 年 4 月 14 日

「衍生的資料行」轉換會將運算式套用至轉換輸入資料行,藉此建立新的資料行值。運算式可包含來自轉換輸入之變數、函數、運算子和資料行的任意組合。結果可加入作為新的資料行,或插入現有資料行作為取代值。「衍生的資料行」轉換可定義多個衍生的資料行,且任何變數或輸入資料行都可在多個運算式中出現。

您可以使用此轉換執行下列工作:

  • 將不同資料行的資料串連至衍生的資料行中。例如,您可以藉由使用運算式 FirstName + " " + LastName,將 FirstNameLastName 資料行的值結合到名為 FullName 的單一衍生資料行中。
  • 使用如 SUBSTRING 的函數從字串資料擷取字元,然後將結果儲存到衍生的資料行中。例如,您可以使用運算式 SUBSTRING(FirstName,1,1),從 FirstName 資料行中擷取人員的名字縮寫。
  • 套用數學函數至數值資料,然後將結果儲存到衍生的資料行中。例如,您可以使用運算式 ROUND(SalesTax, 2),將數值資料行 SalesTax 的長度和有效位數變更為含有兩位小數的數字。
  • 建立比較輸入資料行和變數的運算式。例如,您可以使用運算式 ProductVersion == @Version? ProductVersion : @Version,對照 ProductVersion 資料行中的資料比較變數 Version,並根據比較結果,使用 VersionProductVersion 的值。
  • 擷取日期時間值的部分。例如,您可以使用運算式 DATEPART("year",GETDATE()),利用 GETDATE 和 DATEPART 函數擷取目前的年份。

您可以利用下列方式設定「衍生的資料行」轉換:

  • 為每一個要變更的輸入資料行或新資料行提供運算式。如需詳細資訊,請參閱<Integration Services 運算式參考>。
    ms141069.note(zh-tw,SQL.90).gif附註:
    如果運算式參考「衍生的資料行」轉換所覆寫的輸入資料行,則運算式會使用資料行的原始值,而非衍生的值。
  • 若要將結果加入新資料行,請變更資料類型。如需詳細資訊,請參閱<Integration Services 資料類型>。
    ms141069.note(zh-tw,SQL.90).gif附註:
    如果您要將資料衍生至日期或日期時間資料類型,即使地區設定偏好設定可能指定不同的格式,資料還是 ISO 格式。
  • 若要將結果加入新資料行,請設定字串資料的資料行長度以及數值資料的有效位數和小數位數。如需詳細資訊,請參閱<有效位數、小數位數和長度 (Transact-SQL)>。
  • 若要將結果加入新資料行,並且資料類型是 string,請指定字碼頁。如需詳細資訊,請參閱<比較字串資料>。

衍生的資料行轉換包括 FriendlyExpression 自訂屬性。屬性運算式可以在載入封裝時更新這個屬性。如需詳細資訊,請參閱<在封裝中使用屬性運算式>和<Transformation Custom Properties>。

這個轉換有一個輸入、一個規則輸出及一個錯誤輸出。

設定衍生的資料行轉換

您可以透過「SSIS 設計師」或以程式設計方式設定屬性。

如需有關 [衍生的資料行轉換編輯器] 對話方塊中可設定屬性的詳細資訊,請參閱<衍生的資料行轉換編輯器>。

[進階編輯器] 對話方塊會反映能以程式設計的方式設定之屬性。如需有關可以在 [進階編輯器] 對話方塊中或以程式設計方式設定之屬性的詳細資訊,請按下列其中一個主題:

如需有關如何設定屬性的詳細資訊,請按下列其中一個主題:

請參閱

概念

建立封裝資料流程
Integration Services 轉換

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 4 月 14 日

更新的內容:
  • 釐清只有在新資料行中加入結果時才能使用資料行組態。

2005 年 12 月 5 日

新增內容:
  • 新增有關搭配使用屬性運算式與 FriendlyExpression 自訂屬性的資訊。