Вычесть год с помощью Select Dateadd() sqlserver
У меня есть 2 текстовых поля: истек срок действия и истек срок действия. Эти текстовые поля позволяют пользователю находить людей, использующих лицензию, срок действия которых истекает в течение года после оплаты в диапазоне от "истек" до "истек до". В моей базе данных он показывает только дату покупки, поэтому я пытаюсь использовать функцию SELECT DATEADD(), чтобы вычесть введенные пользователем данные на 1 год, чтобы истекшая дата совпадала с датой покупки. Однако, когда я пытаюсь реализовать, это показывает, что в нем есть синтаксическая ошибка. В чем проблема? Спасибо
(@ExpiredFrom IS NULL OR @ExpiredFrom = '' OR
@ExpiredTo IS NULL OR @ExpiredTo = '' OR
db.[dbo].Subscription.PurchaseDate BETWEEN SELECT DATEADD(yyyy,-1, @ExpiredFrom)
AND SELECT DATEADD(yyyy,-1,@ExpiredTo))
1 ответ
Решение
Я бы предложил вам удалить SELECT
там. Просто BETWEEN DATEADD(yyyy,-1, @ExpiredFrom)
AND DATEADD(yyyy,-1,@ExpiredTo))