Мне нужно создать отчет, который проверяется только за предыдущие 12 месяцев. У меня есть этот код, который работает:Как вернуться в предыдущие 12 месяцев?
DECLARE @date DATETIME = DATEADD(year,-1,GETDATE())
WHILE @date < GETDATE()
BEGIN
--do marvelous things
SET @date = DATEADD(MONTH,1,@date)
END
... однако она приносит результаты обратно, начиная с июня 2014 года (как это июнь 2015 сегодня, очевидно).
Я хотел бы код, чтобы вернуть результаты, начиная с июня 2015 года, а затем работать в обратном направлении до июня 2014 года, но я не уверен, как это сделать ...
Am с помощью SQL Server 2012.
Начнем с того, что ** цикл ** очень часто является неправильным подходом к выполнению операций в SQL. SQL является ** set-oriented **, и вы можете делать замечательные вещи только с одним утверждением и без циклов. Итак, что именно вы хотите сделать? –
заказ от COL_NAME desc – puneet