6

datetime変数を操作して遊んでいます。datetime変動する年を現在の年に更新する方法が見つからないようです。

たとえば、私は持っています

2007-12-01 00:00:00.000

でもそれをしたい

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

私は遊んでいますがdatediff、それを釘付けにすることができないようです。

何かアドバイスをいただければ幸いです。

ありがとう

4

3 に答える 3

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

SELECT @date
于 2012-05-11T11:25:36.247 に答える
1

多分このようなもの:

SQLServer2008以降の場合

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

SQLServer2005の場合

DECLARE @date DATETIME
SET @date='2007-12-01 00:00:00.000'
SET @date=DATEADD(year,DATEDIFF(year,@date,GETDATE()),@date)
于 2012-05-11T11:26:30.750 に答える
0

簡単な方法は次のとおりです。

select @yourDate = dateadd(year, datepart(year, getdate()) - datepart(year, @yourDate), @yourDate)
于 2012-05-11T11:29:56.777 に答える