我正在玩操纵datetime
变量。我似乎找不到将datetime
变量年更新到当年的方法。
例如我有
2007-12-01 00:00:00.000
但我希望那是
2012-12-01 00:00:00.000 (The current year were in)
我一直在玩datediff
,但我似乎无法指出它。
任何建议都将受到赞赏。
谢谢
答案 0 :(得分:9)
DECLARE @date datetime = '2007-01-09T12:34:56'
SELECT @date = DATEADD(yyyy, DATEDIFF(yyyy, @date, GETDATE()), @date)
SELECT @date
答案 1 :(得分:1)
也许是这样的:
对于sql server 2008 +
DECLARE @date DATETIME='2007-12-01 00:00:00.000'
SET @date=DATEADD(year,DATEDIFF(year,@date,GETDATE()),@date)
对于sql server 2005
DECLARE @date DATETIME
SET @date='2007-12-01 00:00:00.000'
SET @date=DATEADD(year,DATEDIFF(year,@date,GETDATE()),@date)
答案 2 :(得分:0)
这是一个简单的方法:
select @yourDate = dateadd(year, datepart(year, getdate()) - datepart(year, @yourDate), @yourDate)