如何计算1个月currentDate之后的日期

时间:2012-04-19 10:32:32

标签: sql sql-server-2008 date

如何计算当前日期一个月后的日期。

示例如果我有19/04/2012我想要获得19/05/2012。在sql上有任何允许这样做的功能吗?

我需要做同样的事情一年也像19/04/2012并设定19/04/2013

干杯

6 个答案:

答案 0 :(得分:15)

你可以使用 DATEADD(datepart,number,date)

指定here

示例(感谢DarrenDavis)

月份:

 select dateadd(m, 1, getdate())

年份:

 select dateadd(YY, 1, getdate())

答案 1 :(得分:1)

使用dateadd()功能

SELECT dateadd(mm, 1, '19-Apr-2012')

答案 2 :(得分:1)

要在当前日期添加1个月:

SELECT DATEADD(m, 1, GETDATE())

将1年添加到当前日期:

SELECT DATEADD(YY, 1, GETDATE())

有关其他参数,请参阅:

http://msdn.microsoft.com/en-us/library/ms186819.aspx

答案 3 :(得分:0)

您可以使用DateAdd:

select dateadd(m, 1, getdate())
select dateadd(yy, 1, getdate())

在线搜索其他时段指标,如小时,分钟等!

答案 4 :(得分:0)

像这样的事情应该做的工作

选择DATEADD(月,1,' 2012-04-19')

一年

选择DATEADD(年,1,' 2012-04-19')

http://msdn.microsoft.com/en-us/library/ms186819.aspx

答案 5 :(得分:0)

您可以提前1个月使用此查询。此查询在oracle中正常工作。

select add_months(trunc(sysdate),1) from dual;

提前1年使用此查询

select add_months(trunc(sysdate),12) from dual;