Ich habe eine Anwendung, die eine DAT-Datei in einige SQL Server-Tabellen importiert.Datumsformatprobleme SQL Server 2012
Die DAT-Datei enthält manchmal falsche Datumsformate.
Beispiel:
DateCreated = 000100893
Die DateCreated
Spalte in SQL Server ist ein datetime
Typ.
Die Anwendung schlägt beim Importieren der Daten aufgrund eines falschen Formats fehl, und ich muss diese Werte manuell auf null setzen, damit ich sie erneut importieren kann.
Gibt es in SQL eine Möglichkeit, Einschränkungen für die Datetime-Spalte zu haben? Wenn beispielsweise die Daten nicht im richtigen Format vorliegen, wird die Spalte automatisch auf Null gesetzt. Ich kann den datetime
Datentyp für diese Spalte nicht ändern, da die Daten die meiste Zeit korrekt sind und ich diese Spalte für andere Berechnungen verwende.
Warum das Datum nicht analysieren? –
Dies ist Standard-ETL, Extraktion, Transformation und Laden. Importieren Sie Ihre DAT-Datei für die Extraktion in eine Staging-Tabelle, in der alle Felder, die Daten empfangen, varchar sind. Der Umwandlungsteil besteht darin, andere Spalten aus den Varchar-Spalten zu aktualisieren. In diesem Fall würden Sie dateCreated von dateCreatedVarchar aktualisieren, indem Sie eine where-Klausel verwenden, um Werte wie "fred" und "barney" herauszufiltern. Der Ladeteil soll aus der Staging-Tabelle in Ihre Haupttabellen schreiben. –