1

我不确定我的大脑是否在工作,因为现在是星期一。我想在本年度中增加一年,但我得到了不希望的结果。

这是我得到的:

select current_timestamp 
Output:2012-04-23 09:57:45.777

select DATEADD(YEAR, 1, DATEPART(YEAR,current_timestamp)) 
Output: 1906-07-06 00:00:00.000

select DATEPART(year,current_timestamp) 
Output: 2012

像这样简单的事情,由于某种原因,我没有发现这个问题。

4

4 回答 4

1
select DATEADD(YEAR, 1, current_timestamp)

如果您只想要日期部分:

select DATEADD(d, 0, DATEDIFF(d, 0, DATEADD(YEAR, 1, current_timestamp) ))
于 2012-04-23T15:07:04.997 回答
1

你能试试这个吗?

选择 DATEPART(YYYY,(DATEADD(YEAR, 1,current_timestamp)))

--它将给出2016年的结果

于 2015-03-26T05:35:09.327 回答
0
select DATEADD(YEAR, 1, current_timestamp)
于 2012-04-23T15:10:09.280 回答
-1
SELECT cast(DATEPART(YEAR,current_timestamp) as datetime);

go return 1905-07-10 00:00:00.000 这就是问题所在

select dateadd(year,1, current_timestamp);

回去 2017-07-25 23:13:49.700

于 2016-07-25T13:17:30.397 回答