CAST (SSIS)
Konvertiert einen Ausdruck explizit in einen anderen Datentyp. Der Umwandlungsoperator kann auch als Operator zum Abschneiden dienen.
Syntax
(type_spec) expression
Argumente
type_spec
Ein gültiger SSIS-Datentyp.
expression
Ein beliebiger gültiger Ausdruck.
Ergebnistypen
Der Datentyp von type_spec. Weitere Informationen finden Sie unter SQL Server Integration Services-Datentypen.
Hinweise
Im folgenden Diagramm werden zulässige Umwandlungsvorgänge dargestellt.
Für die Umwandlung in bestimmte Datentypen sind Parameter erforderlich. In der folgenden Tabelle sind diese Datentypen und die zugehörigen Parameter aufgelistet.
Datentyp | Parameter | Beispiel |
---|---|---|
DT_STR |
charcount codepage |
(DT_STR,30,1252) wandelt 30 Bytes, oder 30 einzelne Zeichen, mithilfe der 1252-Codepage in den DT_STR-Datentyp um. |
DT_WSTR |
Charcount |
(DT_WSTR,20) wandelt 20 Bytepaare, oder 20 Unicode-Zeichen, in den DT_WSTR-Datentyp um. |
DT_BYTES |
Bytecount |
(DT_BYTES,50) wandelt 50 Bytes in den DT_BYTES-Datentyp um. |
DT_DECIMAL |
Scale |
(DT_DECIMAL,2) wandelt einen numerischen Wert mithilfe von 2 Dezimalstellen in den DT_DECIMAL-Datentyp um. |
DT_NUMERIC |
Precision Scale |
(DT_NUMERIC,10,3) wandelt einen numerischen Wert mithilfe einer Genauigkeit von 10 und 3 Dezimalstellen in den DT_NUMERIC-Datentyp um. |
DT_TEXT |
Codepage |
(DT_TEXT,1252) wandelt einen Wert mithilfe der 1252-Codepage in den DT_TEXT-Datentyp um. |
Datumsangaben müssen bei Verwendung des Umwandlungsoperators speziell berücksichtigt werden.
Wenn eine Zeichenfolge in einen DT_DATE-Datentyp umgewandelt wird, oder umgekehrt, wird das Gebietsschema der Transformation verwendet.
Hinweis: Das Datum weist das ISO-Format YYYY-MM-DD auf, auch wenn für das Gebietsschema ein anderes Format festgelegt ist. Die Umwandlung einer Zeichenfolge in einen anderen Datumsdatentyp als DT_DATE liefert die folgenden Ergebnisse.
Datentyp Datumsformat DT_DBDATE
yyyy-mm-dd
DT_FILETIME
yyyy-mm-dd hh:mm:ss:fff
DT_DBTIME
hh:mm:ss
DT_DBTIMESTAMP
yyyy-mm-dd hh:mm:ss:fffffffff
Beim Datumsformat für DT_FILETIME stellt fff einen Wert zwischen 0 und 999 dar. Das Format ist mit dem SYSTEMTIME-Datentyp von Windows identisch.
Beim Datumsformat für DT_DBTIMESTAMP stellt fffffffff einen Wert zwischen 0 und 999999999 dar.
Falls die Codepage eine Multibytezeichen-Codepage ist, kann die Anzahl der Bytes und Zeichen abweichen. Durch das Umwandeln von DT_WSTR in DT_STR mit dem gleichen charcount-Wert können die letzten Zeichen in der konvertierten Zeichenfolge abgeschnitten werden. Falls in der Spalte der Zieltabelle ausreichend Speicherplatz vorhanden ist, legen Sie für den Wert des charcount-Parameters die Anzahl der Bytes fest, die die Multibytecodepage erfordert. Wenn Sie z. B. Zeichendaten mithilfe der 936-Codepage in einen DT_STR-Datentyp umwandeln, sollten Sie für charcount einen Wert festlegen, der bis zu zweimal größer als die Anzahl von Zeichen ist, die die Daten erwartungsgemäß enthalten. Falls Sie Zeichendaten mithilfe der UTF-8-Codepage umwandeln, sollten Sie für charcount einen Wert festlegen, der bis zu viermal größer ist.
Beispiele
In diesem Beispiel wird ein numerischer Wert in eine ganze Zahl umgewandelt.
(DT_I4) 3.57
In diesem Beispiel wird eine ganze Zahl mithilfe der 1252-Codepage in eine Zeichenfolge umgewandelt.
(DT_STR,1,1252)5
In diesem Beispiel wird eine aus drei Zeichen bestehende Zeichenfolge in Doppelbytezeichen umgewandelt.
(DT_WSTR,3)"Cat"
In diesem Beispiel wird eine ganze Zahl in eine Dezimalzahl mit zwei Dezimalstellen umgewandelt.
(DT_DECIMAl,2)500
In diesem Beispiel wird eine ganze Zahl in einen numerischen Wert mit einer Genauigkeit von 7 und drei Dezimalstellen umgewandelt.
(DT_NUMERIC,7,3)4000
In diesem Beispiel werden Werte in der FirstName-Spalte, für die ein nvarchar-Datentyp und eine Länge von 50 definiert ist, mithilfe der 1252-Codepage in eine Zeichenfolge umgewandelt.
(DT_STR,50,1252)FirstName
In diesem Beispiel wird das Zeichenfolgenliteral "True" in einen booleschen Wert umgewandelt.
(DT_BOOL)"True"
Siehe auch
Konzepte
Operatorenrangfolge und -assoziativität