Я пытался определить динамический запрос для получения даты в течение последних 20 дней. Идея довольно проста, и, кроме того, я знаю, что таблица содержит даты от getdate () до -20 дней, но результат все равно не возвращается
DECLARE @date_past_period varchar(MAX);
DECLARE @date_past_number varchar(MAX);
SET @date_past_period='day';
SET @date_past_number='20';
DECLARE @aDate datetime;
DECLARE @sql varchar(MAX);
SET @sql='SELECT date FROM table WHERE convert(varchar,date,121) BETWEEN convert(varchar,getdate(),121) AND convert(varchar,dateadd('+@date_past_period+', -'+@date_past_number+', getdate()),121)';
exec(@sql);
Возможно, проблема в динамике, но я не уверен.
Любой полезный комментарий приветствуется