Udostępnij za pośrednictwem


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.

legalne rzutowanie między typami danych

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