2014-09-16 4 views
0

2 개의 텍스트 상자가 있습니다. expiredfrom 및 expiredto. 이 텍스트 상자를 사용하면 라이센스를 사용하는 사람을 찾을 수 있으며 '만기 전'부터 '만료일'까지 지불 한 후 1 년 이내에 만료됩니다. 내 데이터베이스에서 그것은 단지 구매 날짜를 표시하므로, SELECT DATEADD() 함수를 사용하여 사용자 입력을 1 년 씩 빼기 위해 만료 날짜가 구매 날짜와 동일하게됩니다. 그러나 구현하려고하면 구문 오류가 있음을 보여줍니다. 문제가 무엇입니까? 감사Select Dateadd()를 사용하여 연도를 뺍니다. sqlserver

(@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)) 

답변

0

나는 당신이 거기 SELECT을 제거 건의 할 것입니다. 간단히 BETWEEN DATEADD(yyyy,-1, @ExpiredFrom) AND DATEADD(yyyy,-1,@ExpiredTo))