Я использую следующее предложение WHERE, чтобы загружать записи только за последний финансовый год плюс год к настоящему времени.T-SQL Динамический диапазон дат в предложении WHERE (последний финансовый год + год к настоящему времени)
Выполняется без WHERE clause
, для записей 1 мили требуется 30 секунд. С предложением WHERE мне пришлось остановить его через 2 часа.
Можете ли вы поделиться своими мыслями
WHERE
([schema].[table].[DATE] >= DATEADD
(yy, - 1, DATEADD
(MONTH,(MONTH(GETDATE()) - 1)/6 * 12 - 6,
CAST(CAST(YEAR(GETDATE()) AS VARCHAR) AS DATETIME)
)
)
)
Положить расчет в переменную и сравнить дату с этим. то есть 'declare @d datetime = DATEADD (yy, - 1, DATEADD (MONTH, (MONTH (GETDATE()) - 1)/6 * 12 - 6, CAST (CAST (GETDATE()) AS VARCHAR) AS DATETIME) ) '...' WHERE ([схема]. [Таблица]. [DATE]> = @ d' – artm
Несмотря на то, что это не решило мою проблему, я сделал это изменение в любом случае. Спасибо – Jim
что вы имеете в виду «год на сегодняшний день»? Это последний FY до текущей даты? Итак, если ваш FY начался в OCT 1, это будет OCT1 2014 - СЕГОДНЯ? – scsimon