2012-05-11 15 views
6

में वर्ष अपडेट करना मैं datetime वैरिएबल में हेरफेर करने के साथ खेल रहा हूं। मुझे वर्तमान वर्ष में datetime परिवर्तनीय वर्ष अपडेट करने का कोई तरीका नहीं दिख रहा है।डेटाटाइम वैरिएबल

उदाहरण के लिए मैं

2007-12-01 00:00:00.000 

है लेकिन मुझे लगता है कि

2012-12-01 00:00:00.000 (The current year were in) 

मैं datediff के साथ खेल रहा है होना चाहते हैं, लेकिन मैं इसे कील नहीं कर पा रहे।

किसी भी सलाह की सराहना की जाएगी।

धन्यवाद

उत्तर

8
DECLARE @date datetime = '2007-01-09T12:34:56' 
SELECT @date = DATEADD(yyyy, DATEDIFF(yyyy, @date, GETDATE()), @date) 

SELECT @date 
+0

धन्यवाद AdaTheDev। सटीक। – JGreasley

1

हो सकता है कि कुछ इस तरह:

एसक्यूएल सर्वर 2008+

DECLARE @date DATETIME='2007-12-01 00:00:00.000' 
SET @date=DATEADD(year,DATEDIFF(year,@date,GETDATE()),@date) 

एसक्यूएल सर्वर के लिए 2005

DECLARE @date DATETIME 
SET @date='2007-12-01 00:00:00.000' 
SET @date=DATEADD(year,DATEDIFF(year,@date,GETDATE()),@date) 
+0

धन्यवाद एरियन, अच्छा काम करता है। – JGreasley

0

यहाँ एक आसान तरीका है:

select @yourDate = dateadd(year, datepart(year, getdate()) - datepart(year, @yourDate), @yourDate) 
संबंधित मुद्दे