Rzutowanie (wyrażenie SSIS)
Dotyczy:sql Server
SSIS Integration Runtime w usłudze Azure Data Factory
Jawnie konwertuje wyrażenie z jednego typu danych na inny typ danych. Operator rzutowania może również działać jako operator obcinania.
Składnia
(type_spec) expression
Argumenty
type_spec
Jest prawidłowym typem danych usług SSIS.
wyrażenia
Jest prawidłowym wyrażeniem.
Typy wyników
Typ danych type_spec. Aby uzyskać więcej informacji, zobacz Integration Services Data Types.
Uwagi
Na poniższym diagramie przedstawiono operacje rzutów prawnych.
Rzutowanie do niektórych typów danych wymaga parametrów. W poniższej tabeli wymieniono te typy danych i ich parametry.
Typ danych | Parametr | Przykład |
---|---|---|
DT_STR |
konta charcount stron kodowych |
(DT_STR,30,1252) rzutuje 30 bajtów lub 30 pojedynczych znaków na typ danych DT_STR przy użyciu strony kodowej 1252. |
DT_WSTR | charcount | (DT_WSTR,20) rzutuje 20 par bajtów lub 20 znaków Unicode na typ danych DT_WSTR. |
DT_BYTES | bytecount | (DT_BYTES 50) rzutuje 50 bajtów na typ danych DT_BYTES. |
DT_DECIMAL | Skalowanie | (DT_DECIMAL,2) rzutuje wartość liczbową na typ danych DT_DECIMAL przy użyciu skali 2. |
DT_NUMERIC |
precyzji Skalowanie |
(DT_NUMERIC,10,3) rzutuje wartość liczbową na typ danych DT_NUMERIC przy użyciu dokładności 10 i skali 3. |
DT_TEXT | strony kodowej | (DT_TEXT 1252) rzutuje wartość na typ danych DT_TEXT przy użyciu strony kodowej 1252. |
Gdy ciąg jest rzutowy na DT_DATE lub odwrotnie, używane są ustawienia regionalne przekształcenia. Jednak data jest w formacie ISO RRRR-MM-DD, niezależnie od tego, czy preferencja ustawień regionalnych używa formatu ISO.
Nuta
Aby przekonwertować ciąg na typ danych daty inny niż DT_DATE, zobacz Integration Services Data Types.
Jeśli strona kodowa jest stroną kodu wielobajtowego, liczba bajtów i znaków może się różnić. Rzutowanie z DT_WSTR do DT_STR z tą samą wartością charcount może spowodować obcięcie znaków końcowych w przekonwertowanym ciągu. Jeśli wystarczająca ilość miejsca do magazynowania jest dostępna w kolumnie tabeli docelowej, ustaw wartość parametru charcount, aby odzwierciedlić liczbę bajtów wymaganą przez stronę kodu wielobajtowego. Na przykład w przypadku rzutowania danych znaków na typ danych DT_STR przy użyciu strony kodowej 936 należy ustawić na wartość maksymalnie dwie razy większą niż liczba znaków, które powinny zawierać dane; W przypadku rzutowania danych znaków przy użyciu strony kodowej UTF-8 należy ustawić na wartość maksymalnie cztery razy większą.
Aby uzyskać więcej informacji na temat struktury typów danych daty, zobacz Integration Services Data Types.
Przykłady wyrażeń usług SSIS
W tym przykładzie rzutuje wartość liczbową na liczbę całkowitą.
(DT_I4) 3.57
Ten przykład rzutuje liczbę całkowitą na ciąg znaków przy użyciu strony kodowej 1252.
(DT_STR,1,1252)5
W tym przykładzie rzutuje trzyznaczny ciąg na znaki dwubajtowe.
(DT_WSTR,3)"Cat"
W tym przykładzie rzutuje liczbę całkowitą na liczbę dziesiętną ze skalą dwóch.
(DT_DECIMAl,2)500
W tym przykładzie rzutuje liczbę całkowitą na liczbę z dokładnością do siedmiu i skali trzech.
(DT_NUMERIC,7,3)4000
W tym przykładzie wartości rzutowane w kolumnie FirstName zdefiniowane za pomocą nvarchar typu danych i długości 50 znaków do ciągu znaków przy użyciu strony kodowej 1252.
(DT_STR,50,1252)FirstName
Ten przykład rzutuje wartości w kolumnie DateFirstPurchase typu DT_DBDATE do ciągu znaków Unicode o długości 20.
(DT_WSTR,20)DateFirstPurchase
W tym przykładzie literał ciągu "True" jest rzutowy na wartość logiczną.
(DT_BOOL)"True"
Ten przykład rzutuje literał ciągu na DT_DBDATE.
(DT_DBDATE) "1999-10-11"
Ten przykład rzutuje literał ciągu na typ danych DT_DBTIME2, który używa 5 cyfr w sekundach ułamkowych. (Typ danych DT_DBTIME2 może zawierać od 0 do 7 cyfr określonych dla sekund ułamkowych).
(DT_DBTIME2, 5) "16:34:52.12345"
Ten przykład rzutuje literał ciągu na typ danych DT_DBTIMESTAMP2, który używa 4 cyfr w sekundach ułamkowych. (Typ danych DT_DBTIMESTAMP2 może zawierać od 0 do 7 cyfr określonych dla sekund ułamkowych).
(DT_DBTIMESTAMP2, 4) "1999-10-11 16:34:52.1234"
Ten przykład rzutuje literał ciągu na typ danych DT_DBTIMESTAMPOFFSET, który używa 7 cyfr dla sekund ułamkowych. (Typ danych DT_DBTIMESTAMPOFFSET może zawierać od 0 do 7 cyfr określonych dla sekund ułamkowych).
(DT_DBTIMESTAMPOFFSET, 7) "1999-10-11 16:34:52.1234567 + 5:35"
Zobacz też
pierwszeństwo operatora i kojarzenie
operatory (wyrażenie SSIS)
wyrażenia usług Integration Services (SSIS)
typy danych usług Integration Services w wyrażeniach