Cast (SSIS 運算式)
適用於:SQL Server Azure Data Factory 中的 SSIS Integration Runtime
將運算式從一種資料類型明確轉換成另一種資料類型。 轉換運算子也可以當作截斷運算子使用。
語法
(type_spec) expression
引數
type_spec
是有效的 SSIS 資料類型。
expression
是有效的運算式。
結果類型
type_spec的資料類型。 如需詳細資訊,請參閱 Integration Services 資料類型。
備註
下列圖表顯示合法的轉換運算。
轉換成某些資料類型需要參數。 下表列出這些資料類型及其參數。
資料類型 | 參數 | 範例 |
---|---|---|
DT_STR |
charcount codepage |
(DT_STR,30,1252) 會使用 1252 字碼頁將 30 個位元組 (或 30 個單一字元) 轉換成 DT_STR 資料類型。 |
DT_WSTR | Charcount | (DT_WSTR,20) 會將成對的 20 個位元組 (或 20 個 Unicode 字元) 轉換成 DT_WSTR 資料類型。 |
DT_BYTES | Bytecount | (DT_BYTES,50) 將 50 個位元組轉換為 DT_BYTES 資料類型。 |
DT_DECIMAL | 縮放比例 | (DT_DECIMAL,2) 將數值轉換為 DT_DECIMAL 資料類型,使用 2 位小數位數。 |
DT_NUMERIC |
有效位數 縮放比例 |
(DT_NUMERIC,10,3) 將數值轉換為 DT_NUMERIC 資料類型,使用 10 位有效位數與 3 位小數位數。 |
DT_TEXT | Codepage | (DT_TEXT,1252) 將值轉換為 DT_TEXT 資料類型,使用 1252 字碼頁。 |
當字串轉換成 DT_DATE 或 DT_DATE 轉換成字串時,會使用轉換的地區設定。 不過,日期是使用 ISO 格式 YYYY-MM-DD,而不論地區設定的偏好設定是否使用 ISO 格式。
注意
若要將字串轉換成 DT_DATE 以外的日期資料類型,請參閱 Integration Services 資料類型。
如果字碼頁為多位元組字元字碼頁,則位元組和字元的數目可能會不一樣。 使用相同的 charcount 值從 DT_WSTR 轉換成 DT_STR,可能會截斷轉換完成字串中的最後幾個字元。 如果目的地資料表的資料行中有足夠的儲存體,請將 charcount 參數的值設定為反映多位元組字碼頁所需的位元組數目。 例如,如果您使用 936 字碼頁將字元資料轉換成 DT_STR 資料類型,則應將 charcount 設定成最多為您希望資料包含的字元數之兩倍的值;如果使用 UTF-8 字碼頁轉換字元資料,則應將 charcount 設定為四倍。
如需日期資料類型結構的詳細資訊,請參閱 Integration Services 資料類型。
SSIS 運算式範例
此範例會將數值轉換成整數。
(DT_I4) 3.57
此範例會使用 1252 字碼頁將整數轉換成字元字串。
(DT_STR,1,1252)5
此範例會將 3 個字元的字串轉換成雙位元組字元。
(DT_WSTR,3)"Cat"
此範例會將整數轉換成擁有 2 位小數位數的小數。
(DT_DECIMAl,2)500
此範例會將整數轉換成擁有 7 位有效位數和 3 位小數位數的數值。
(DT_NUMERIC,7,3)4000
此範例會使用 1252 字碼頁將 FirstName 資料行中,以 nvarchar 資料類型定義且長度為 50 的值轉換成字元字串。
(DT_STR,50,1252)FirstName
此範例會將 DateFirstPurchase 資料行中 DT_DBDATE 類型的值轉換成長度為 20 的 Unicode 字元字串。
(DT_WSTR,20)DateFirstPurchase
此範例會將字串常值「True」轉換成布林。
(DT_BOOL)"True"
此範例會將字串常值轉換為 DT_DBDATE。
(DT_DBDATE) "1999-10-11"
此範例會將字串常值轉換為使用 5 位數毫秒的 DT_DBTIME2 資料類型 (DT_DBTIME2 資料類型可以指定 0 到 7 位數之間的毫秒)。
(DT_DBTIME2, 5) "16:34:52.12345"
此範例會將字串常值轉換為使用 4 位數毫秒的 DT_DBTIMESTAMP2 資料類型 (DT_DBTIMESTAMP2 資料類型可以指定 0 到 7 位數之間的毫秒)。
(DT_DBTIMESTAMP2, 4) "1999-10-11 16:34:52.1234"
此範例會將字串常值轉換為使用 7 位數毫秒的 DT_DBTIMESTAMPOFFSET 資料類型 (DT_DBTIMESTAMPOFFSET資料類型可以有 0 到 7 位數的小數秒數。)
(DT_DBTIMESTAMPOFFSET, 7) "1999-10-11 16:34:52.1234567 + 5:35"
另請參閱
運算子優先順序與關聯性
運算子 (SSIS 運算式)
Integration Services (SSIS) 運算式
運算式中的 Integration Services 資料類型