Wie extrahiere ich nur das Datum aus SQL-datetime-Wert in SSIS?
Wie konvertiere ich eine datetime nur Datum in SSIS?
Ich versuche, führen Sie eine zusammengesetzte Abfrage, die Gruppe, die von einem bestimmten Datum. Um das zu tun, ich bin versucht zu extrahieren, nur das Datum Teil der timestamp gespeichert wird und als datetime -) also ich kann die GRUPPE auf den nächsten Schritt.
Ist, habe ich mich bei der DATEPART-Funktion, aber es sieht aus, als hätte ich schon mehrere Male zum abrufen der Monat, Datum und Jahr, verketten Sie zusammen, und dann analysieren das neue Datum. Es hat doch einen besseren Weg, dies zu tun.
InformationsquelleAutor Jesse Weigert | 2009-12-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
In SSIS können Sie Transformation für Datenkonvertierung für die Eingabe Wert, den Sie haben
DT_DBTIMESTAMP
und für die Ausgabe verwendenDT_DBDATE
InformationsquelleAutor Damir Sudarevic
Meine erste Frage wäre, wenn Sie Umgang mit den Daten in der dbs auf demselben server-warum nicht einfach nehmen Sie alle Ihre casting-und grouping in SQL Server zu bringen, bevor Sie die Daten per SSIS? Aus performance-Gründen, ist es am besten, alle massieren der Daten von SQL Server, bevor er Sie in SSIS. Allerdings, wenn Sie sind den Umgang mit heterogenen Daten (oracle, excel, text-Dateien, Daten aus einer anderen sql server-Instanz), dann können Sie die transformation für abgeleitete Spalten und konvertieren Sie das Datum mithilfe der cast - (DT_DBDATE), verwenden Sie das Aggregat Komponente für Ihre Gruppe durch.
InformationsquelleAutor rfonn
Leider, das ist der beste Weg, es zu tun (meiner Meinung nach) und je nach Ziel-Spalte (falls es das ist, wo die Strömung ist Ende) immer noch die 00:00:00:000. Aber Sie haben wahrscheinlich bereits herausgefunden, dass =P.
InformationsquelleAutor ajdams
Hier ist, Sie tun können, es in T-SQL, gehe ich davon aus SSIS-erlaubt vollen Zugriff auf SQL-Server-Funktionen:
Im Grunde, Sie wandelt das Datum in einen float (Zeit ist ein Bruchteil eines Tages), verwendet Boden zu hacken (decimal (cast zu int kann in der Runde), dann wirft der Schwimmer wieder auf ein Datum.
Effizient arbeiten, und nicht mehrere Aufrufe von DATEPART()
InformationsquelleAutor richardtallent
select DATEADD(dd,0, DATEDIFF(dd, 0, GETDATE()))
InformationsquelleAutor Jay