2010-12-06 16 views

उत्तर

6
DATEADD(yy,-2,GETDATE()); 
+0

यूप क्षमा करें, भूल गया कि यह एक स्ट्रिंग नहीं था! –

+0

यह गलत है। एसक्यूएल सर्वर 2008 में यह 2 दिन 2 साल का कटौती नहीं करेगा। वाई साल की तरह 'दिन का दिन' है। –

+0

मुझे वास्तव में इतनी तेज़ी से संपादित नहीं करना चाहिए! :) –

19

SELECT DATEADD(year, -2, GETDATE())

या

SELECT DATEADD(yy, -2, GETDATE())

या

SELECT DATEADD(yyyy, -2, GETDATE())

,210

आप एक चर के रूप में संग्रहीत करना चाहते हैं:

DECLARE @twoYearsAgo DATETIME; 

SELECT @twoYearsAgo = DATEADD(year, -2, GETDATE()); 
3

लगता है कि आपने DATEADD() फ़ंक्शन http://msdn.microsoft.com/en-us/library/ms186819.aspx

select dateadd(yy,-2,getdate()) 

आप इस पल 2 साल पहले हो जाता है

लेकिन यदि जरूरत आप 2 साल पहले की शुरुआत करना चाहते हैं, आप

select dateadd(dd,datepart(dd,getdate())-1,dateadd(mm,datepart(mm,getdate())-1,dateadd(yy,datepart(yy,getdate())-1902,0))) 
का उपयोग कर सकते हैं

मुझे संदेह है कि यह लिखने का एक साफ तरीका है, लेकिन यह पहली बार दिमाग में उभरा था।

+0

उस दिन की शुरुआत का चयन करने के लिए वह सबराउटिन वास्तव में जो मैं ढूंढ रहा हूं वह वास्तव में है। बहुत धन्यवाद! –

संबंधित मुद्दे