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.

Zulässige und unzulässige Umwandlungen zwischen Datentypen

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.

    ms141704.note(de-de,SQL.90).gifHinweis:
    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

Andere Ressourcen

Operatoren (SSIS)

Hilfe und Informationen

Informationsquellen für SQL Server 2005