Ich habe ein Datum 20130131
in csv, das ich in 2013-13-01
mithilfe der abgeleiteten Spalte in SSIS zu konvertieren versuche. Ich habe diesen Ausdruck verwendet, aber es scheint nicht zu funktionieren.
(DT_DBTIMESTAMP) (SUBSTRING (DATE_DECISION_TO_REFER, 1,2) + "-" + SUBSTRING (DATUM_DECISION_TO_REFER, 3,2) + "-" + SUBSTRING (DATE_DECISION_TO_REFER, 5,2))
Wie überschreibe ich diesen Ausdruck, um die korrekte Ausgabe mit einem Wert vom Datentyp DT_DBTIMESTAMP
?
Nach Kyle Hale Vorschlag, unten ist meine Antwort
%Vor%Um dich so zu erziehen, dass du nie wieder mit diesem Problem konfrontiert wirst, funktioniert der Ausdruck so
%Vor%Hoffe, das wird helfen.
Sie sollten den Ausdruck verwenden, um das Datum wie unten gezeigt in yyyy-MM-dd
zu formatieren. Dieser Ausdruck formatiert den eingehenden Wert 20130131
in 2013-01-31
und konvertiert dann in den entsprechenden Datentyp. Der Ausdruck verwendet die eingehende Spalte mit dem Namen Column0
.
(DT_DBTIMESTAMP) (SUBSTRING (Column0,1,4) + "-" + SUBSTRING (Column0,5,2) + "-" + SUBSTRING (Column0,7,2))
Ihr Ausdruck nimmt den Wert 20130131
und wandelt ihn dann falsch in den Wert 20-13-01
um. Dies ist ein ungültiges Format für Datumsangaben und daher kann der Ausdruck nicht in DT_DBTIMESTAMP
-Datentyp umgewandelt werden.
Fast Parse ist eine viel elegantere Lösung
Tags und Links ssis