2011-12-16 9 views
8

में 1 वर्ष जोड़ें मैं उन उत्पादों का चयन करने का प्रयास करता हूं जिनके पास वर्तमान वर्ष +1 और -1 के बीच सालाना मॉडल है। और मुझे केवल वर्ष (पूर्व 2011) पूर्ण तिथि और समय नहीं चाहिए।जोड़ें + - SQL सर्वर

SELECT ProductName FROM tblProduct WHERE Year BETWEEN 
year(getdate()+1) AND year(getdate()-1) 

काम नहीं करता, लेकिन इसी तरह शायद कुछ ...

+0

वर्ष का प्रकार क्या है? – chance

+0

चुनिंदा वर्ष (getdate() + 1) => 2011. ऐसा लगता है कि काम कर रहा है ... – Bala

+0

वर्ष डेटाटाइप INT – user1007103

उत्तर

12

आप 1 जोड़ रहे हैं getdate करने के लिए() ताकि आप 1 दिन

SELECT ProductName FROM tblProduct WHERE Year BETWEEN 
    (year(getdate()) -1) AND (year(getdate()) + 1) 
+0

अच्छा काम करता है! धन्यवाद! – user1007103

+0

छोटे सुधार: (वर्ष (getdate()) - 1) और (वर्ष (getdate()) + 1) –

+0

@ t-clausen.dk अच्छी पकड़! –

9
SELECT dateadd(year, -1, getdate()) 

जोड़ रहे हैं किया है चाहेंगे :

SELECT productname 
FROM tblproduct 
WHERE [year] between (select dateadd(year, -1, getdate()) AND (select dateadd(year, +1, getdate())