我正在玩弄一个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
也许是这样的:
对于 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)
这是一个简单的方法:
select @yourDate = dateadd(year, datepart(year, getdate()) - datepart(year, @yourDate), @yourDate)