вычесть год, используя Select Dateadd() sqlserver

У меня есть 2 текстовых поля: expiredfrom и expiredto. Эти текстовые поля позволяют пользователю находить людей, которые используют лицензию, срок действия которой истекает в течение года после оплаты, в диапазоне от «истек срок действия» до «истек срок действия до». В моей базе данных отображается только дата покупки, поэтому я пытаюсь использовать функцию 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))

person Asker    schedule 16.09.2014    source источник


Ответы (1)


Я бы посоветовал вам удалить SELECT там. Просто BETWEEN DATEADD(yyyy,-1, @ExpiredFrom) AND DATEADD(yyyy,-1,@ExpiredTo))

person zhongxiao37    schedule 16.09.2014