2017-02-27 3 views
1

Zielspaltendaten sollten in einem Format:Datetime-Formate in einem bestimmten Format in SSIS Konvertieren

enter image description here

Wie in einem Format auf Zieltabelle von SQL Server die HireDate Spalte zu tun.

+0

Ihre Quellformate mehrdeutig sind. Ist '01/10/2008' 1. Okt. oder 10. Jan.? Du weißt es nicht, also kannst du es nicht konvertieren. Auch * vergessen * über Datum "Formate" in SQL Server. Wählen Sie den richtigen Datentyp 'DATE' und vergessen Sie das visuelle Format –

+0

Sofern Sie nicht über eine Möglichkeit verfügen, das Datumsformat zu bestimmen, das in jedem Datensatz in der Flat-Datei verwendet wird, kann dies nicht korrekt durchgeführt werden. Wie @ Nick.McDeermaid schrieb - alle Daten, wo der Tag weniger als 13 ist, wird mehrdeutig sein. Außerdem sollten Sie wissen, dass [Datum/Uhrzeit-Datentyp das Anzeigeformat nicht speichert.] (Http://stackoverflow.com/questions/30032915/how-to-cast-the-datetime-to-time/30033028#30033028) –

+0

Wenn es gibt nur zwei Arten von Formaten, nämlich JJJJ/MM/TT oder TT/MM/JJJJ, als können wir in das Format JJJJ/MM/TT wechseln? @ Nick.McDeermader –

Antwort

0

eine Skriptkomponente hinzufügen, Mark HireDate als Eingabespalte, fügen Sie eine neue Spalte Ausgabe outHireDate mit datatype DT_DBTIMESTAMP

Im Skript schreiben folgendes:

Deklarieren Sie eine Reihe von Formaten:

Dim strFormats() as string = {"dd/MM/yyyy","yyyy/MM/dd","MM/dd/yyyy"} 

Und in Input0_ProcessInputRow Unter Verwendung DateTime.ParseExact Funktion wie folgt:

Row.OutHireDate = DateTime.ParseExact(Row.HireDate,strFormats,New System.Globalization.CultureInfo("en-GB")) 

Wichtiger Hinweis

Es Konflikt verursachen kann, wenn Tag und Monat sind niedriger als 13 (ex: 01.03.2010)

+0

Das ist sinnlos, wenn wir nicht wissen, welche Zeile welches Format hat. –

+0

@NickMcDermaid Ich stimme damit überein, das ist, was ich meine in der wichtigen Anmerkung in meiner Antwort – Hadi

+0

Was ist mit der Validierung in einem "wenn" -Aussagen zuerst oder versuchen Sie es parse (verschachtelt, falls erforderlich). –

Verwandte Themen