2017-03-08 2 views
2

Ich habe folgende SQL-Abfrage im Datenfluss, Kontrollfluss des SSIS-Pakets und ich möchte Datensätze durch Abschneiden Punkt begrenzen, und dieser Abschneidepunkt ist aktueller Tag/Datum vom System. Es sollte also nur vergangene Datensätze anzeigen, nicht die heutigen. Also, ich denke, ich muss das spezifische Feld (das ist das Datumsfeld - in der Abfrage heißt es "FinalCloseDate" und vergleichen mit dem aktuellen Systemdatum und sagen Sie es nur, um die Datensätze (vielleicht <10 heutigen Tag), die vor heute passiert oder aktuelles System Tag.SQL-Abfrage zum Begrenzen von Datensätzen

+0

Sie sollte wirklich mit Aliasnamen in Ihren Abfragen in Betracht ziehen. Sie könnten die Textmenge um etwa 50% oder mehr in diesen reduzieren Die eigentliche Herausforderung ist, dass wir keine Ahnung haben, was Sie hier machen wollen, wenn Sie Zeilen haben wollen, die älter sind als heute ist wahrscheinlich einfach FinalCloseDate

Antwort

2

hinzufügen

AND dbo.Producthit.FinalCloseDate < CAST(GETDATE() AS DATE) 

auf Ihr WHERE Klausel.

+0

NULLs werden nicht eingeschlossen, weil NULLs eine unbekannte für diesen Ausdruck erzeugen würde. Sie müssen sich diesem Tisch anschließen, also müssen Sie darüber nachdenken, was das bedeutet. –

+0

Ich würde es zu einer gespeicherten Prozedur machen und einen Parameter übergeben. Sie können gespeicherte Prozeduren von SSIS aufrufen und ihre Werte von config, von script oder von anderswo aus festlegen. –

Verwandte Themen