2012-05-11 13 views
6

私はdatetime変数を操作して遊んでいます。私は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

たぶん、このような何か:

SQL Server用のSQL Serverの2008+

DECLARE @date DATETIME='2007-12-01 00:00:00.000' 
SET @date=DATEADD(year,DATEDIFF(year,@date,GETDATE()),@date) 
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) 
関連する問題