CAST (SSIS-Ausdruck): Konvertieren von SSIS-Datentypen
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 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. |
Wenn eine Zeichenfolge in einen DT_DATE-Datentyp umgewandelt wird, oder umgekehrt, wird das Gebietsschema der Transformation verwendet. Allerdings weist das Datum das ISO-Format YYYY-MM-DD auf, und zwar unabhängig davon, ob für das Gebietsschema das ISO-Format verwendet wird.
Hinweis |
---|
Informationen zum Konvertieren einer Zeichenfolge in einen anderen Datumsdatentyp als DT_DATE finden Sie unter Integration Services-Datentypen. |
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.
Weitere Informationen zur Struktur von Datumsdatentypen finden Sie unter Integration Services-Datentypen.)
Beispiele für das Konvertieren von SSIS-Datentypen
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"
In diesem Beispiel wird ein Zeichenfolgenliteral in DT_DBDATE umgewandelt.
(DT_DBDATE) "1999-10-11"
In diesem Beispiel wird ein Zeichenfolgenliteral in den DT_DBTIME2-Datentyp umgewandelt, bei dem fünf Ziffern für Millisekunden verwendet werden. (Beim DT_DBTIME2-Datentyp können null bis sieben Ziffern für Millisekunden angegeben werden.)
(DT_DBTIME2, 5) "16:34:52.12345"
In diesem Beispiel wird ein Zeichenfolgenliteral in den DT_DBTIMESTAMP2-Datentyp umgewandelt, bei dem vier Ziffern für Millisekunden verwendet werden. (Beim DT_DBTIMESTAMP2-Datentyp können null bis sieben Ziffern für Millisekunden angegeben werden.)
(DT_DBTIMESTAMP2, 4) "1999-10-11 16:34:52.1234"
In diesem Beispiel wird ein Zeichenfolgenliteral in den DT_DBTIMESTAMPOFFSET-Datentyp umgewandelt, bei dem sieben Ziffern für Millisekunden verwendet werden. (Beim DT_DBTIMESTAMPOFFSET-Datentyp können null bis sieben Ziffern für Millisekunden angegeben werden.)
(DT_DBTIMESTAMPOFFSET, 7) "1999-10-11 16:34:52.1234567 + 5:35"
Siehe auch