Ich verwende die folgende WHERE-Klausel, um nur Datensätze aus dem letzten Geschäftsjahr plus ein Jahr nach Datum zu laden.T-SQL Dynamischer Datumsbereich in der WHERE-Klausel (Letztes Geschäftsjahr + Jahr bis Datum)
Ohne WHERE clause
läuft es 30 Sekunden für 1mil Datensätze. Mit der WHERE-Klausel musste ich nach 2 Stunden aufhören.
Können Sie bitte Ihre Gedanken
WHERE
([schema].[table].[DATE] >= DATEADD
(yy, - 1, DATEADD
(MONTH,(MONTH(GETDATE()) - 1)/6 * 12 - 6,
CAST(CAST(YEAR(GETDATE()) AS VARCHAR) AS DATETIME)
)
)
)
Setzen Sie die Berechnung in eine Variable und vergleichen Sie das Datum mit diesem. zB 'declare @d datetime = DATEADD (JJ, - 1, DATEADD (MONAT (MONTH (GETDATE()) - 1)/6 * 12 - 6, CAST (CAST (JAHR (GETDATE()) AS VARCHAR (AS DATETIME) ) '...' WHERE ([Schema]. [Tabelle]. [DATUM]> = @ d' – artm
Obwohl das mein Problem nicht gelöst hat, habe ich diese Änderung trotzdem vorgenommen. Danke – Jim
was meinst du auf "ein Jahr bis heute"? Ist das letzte Jahr auf das aktuelle Datum? Also, wenn Ihr FJ am 1. Oktober begann, wäre es 1. Oktober 2014 - heute? – scsimon