Мне нужна помощь в создании условия, где оговорка. То, что я пытаюсь сделать, это если одна из переменных, которые я использую, пуста, тогда использовать специальное предложение where, а использовать эту переменную
Так, например, у меня есть Таблица клиентов, Наличие клиента и другие данные клиента В дополнение к этому у меня также есть InsertDate и UpdateDate.
Declare @CustomerID Nvarchar(20) = '';
Declare @StartDate Date = '2019-05-05'
Declare @EndDate Date = DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE()) - 1, -1);
Здесь я сохранил @CustomerID как пустой. Так что, если это пустое значение, найдите данные, используя InsertDate между @StartDate и @EndDate, иначе найдите данные через CustomerID.
Но когда я пытаюсь это сделать, у меня возникает проблема с этим.
Select
*
From
CustomerDetals
where
(
Case
When
ISNULL(@CustomerID, '') = ''
Then
Convert(Date, InsertDate) >= @StartDate
and Convert(Date, InsertDate) <= @EndDate
Else
CustomerID = @CustomerID
End
)
Я получаю ошибку
Неверный синтаксис рядом с '>'.
Как я могу решить эту проблему?
Если вы не уверены или не уверены в этом сообщении, мы можем обсудить его в комментарии, вместо того, чтобы напрямую понизить его.