datetime
変数を操作して遊んでいます。datetime
変動する年を現在の年に更新する方法が見つからないようです。
たとえば、私は持っています
2007-12-01 00:00:00.000
でもそれをしたい
2012-12-01 00:00:00.000 (The current year were in)
私は遊んでいますがdatediff
、それを釘付けにすることができないようです。
何かアドバイスをいただければ幸いです。
ありがとう
datetime
変数を操作して遊んでいます。datetime
変動する年を現在の年に更新する方法が見つからないようです。
たとえば、私は持っています
2007-12-01 00:00:00.000
でもそれをしたい
2012-12-01 00:00:00.000 (The current year were in)
私は遊んでいますがdatediff
、それを釘付けにすることができないようです。
何かアドバイスをいただければ幸いです。
ありがとう
DECLARE @date datetime = '2007-01-09T12:34:56'
SELECT @date = DATEADD(yyyy, DATEDIFF(yyyy, @date, GETDATE()), @date)
SELECT @date
多分このようなもの:
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)
簡単な方法は次のとおりです。
select @yourDate = dateadd(year, datepart(year, getdate()) - datepart(year, @yourDate), @yourDate)