2012-05-11 2 views
6

나는 datetime 변수를 조작하여 놀고 있습니다. 현재 연도에 datetime 년을 업데이트하는 방법을 찾지 못하는 것 같습니다. 예를 들어날짜/시간 변수에서 연도 업데이트

나는

2007-12-01 00:00:00.000 

을하지만 그게 내가 datediff와 함께 놀았 던

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

싶습니다,하지만 난 그것을 잡을 수없는 것.

모든 조언을 주시면 감사하겠습니다.

감사

답변

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

SELECT @date 
+0

감사합니다. AdaTheDev. 에 딱 맞다. – JGreasley

1

아마 이런 식으로 뭔가 :

SQL Server 용 SQL 서버 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

Arion에게 감사드립니다. – JGreasley

0

다음은 간단한 방법 :

select @yourDate = dateadd(year, datepart(year, getdate()) - datepart(year, @yourDate), @yourDate)