Riposte 0 Posted April 10, 2014 Report Share Posted April 10, 2014 (edited) Hi, ich habe ein Table aus einer DB2 Datenbank in meinen SQL Server importiert, leider scheint schon auf dem DB2 Server das Format des Datum als Zahl angegeben zu sein. Sieht dann so aus: xx_xx_xx_DATE: "41609" was eigentlich das Datum: 01.12.2013 ist oder "41639" welches das Datum 31.12.2013 darstellt. Natürlich könnte man nun die Zahlen in Excel kopieren und von "Standard" auf das Datum Format umstellen und dann steht auch das normale Datum da, aber das will natürlich niemand. Beim ETL Prozess habe ich schon versucht auf DT_DBDATE umzustellen und habe folgende Fehlermeldung erhalten: Error 0xc0202044: Data Flow Task 1: The OLE DB provider used by the OLE DB adapter cannot convert between types "DT_NUMERIC" and "DT_DBDATE" for "xxx_xxx_DELIV_DATE". (SQL Server Import and Export Wizard) Wie kann ich nun auf dem Server das Datum umstellen, so das es normal angezeigt wird? Danke vorab! Gruß, Riposte Edited April 10, 2014 by Riposte Quote Link to comment
Pathomorph 1 Posted April 10, 2014 Report Share Posted April 10, 2014 Hi update [TABLE] set [DATUMSFELD] = CAST([DATUMSFELD] -2 as datetime) Quote Link to comment
Riposte 0 Posted April 10, 2014 Author Report Share Posted April 10, 2014 Hi, Danke. Das funktioniert schon einmal sehr gut. Leider ist das Darumsformat nun recht merkwürdig angegeben: "Dec 2 2013 12:00AM". Lieber wäre mir "2013-12-02" , geht das? Danke. Riposte Quote Link to comment
Sunny61 804 Posted April 10, 2014 Report Share Posted April 10, 2014 In diesem Artikel findest Du die Lösung: http://msdn.microsoft.com/de-de/library/ms187928.aspx Quote Link to comment
Pathomorph 1 Posted April 10, 2014 Report Share Posted April 10, 2014 update [TABLE] set [DATUMSFELD] = CONVERT(nvarchar(10),CAST([DATUMSFELD] -2 as datetime),104) Dann hast du das Datum auf Deutsch: 31.12.2013 --> allerdings ist das Resultat dann ein String(nvarchar) und kein "datetime" mehr Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.