Вычесть год с помощью 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))

Другие вопросы по тегам