Я бы хотел как-то контролировать объявленную переменную с помощью предложения where.
У меня есть пример запроса, подобный этому:
DECLARE @dateplaceholder AS DATETIME
SET @dateplaceholder = '2019-06-01'
SELECT @dateplaceholder PLACEHOLDER_DATE, GETDATE() AS TODAY, SOME_DATE_AGO = (SELECT dateadd(DAY, -7, @dateplaceholder ))
GO
Это будет работать как задумано. Дать следующий результат:
Теперь я хочу контролировать переменную @dateplaceholder
в предложении where, чтобы сделать мой запрос, представление, которое я могу вызвать:
select * myqueryView where @dateplaceholder = '2018-01-01'
Примерно так:
DECLARE @dateplaceholder AS DATETIME
SET @dateplaceholder = '2019-06-01'
SELECT @dateplaceholder PLACEHOLDER_DATE, GETDATE() AS TODAY, SOME_DATE_AGO = (SELECT dateadd(DAY, -7, @dateplaceholder ))
WHERE SELECT @dateplaceholder = '2018-01-01'
GO
Тем не менее, он не вернет никаких результатов, так как в основном проверяет, что объявленная переменная имеет это значение в предложении where, он не будет set
it.
Как это можно решить?