10

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

例如,如果我有 19/04/2012 我想得到 19/05/2012。sql上是否有任何允许这样做的函数?

我需要在 2012 年 4 月 19 日和 2013 年 4 月 19 日一样的一年内做同样的事情

干杯

4

6 回答 6

20

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

在这里指定

示例(感谢 DarrenDavis)

月份:

 select dateadd(m, 1, getdate())

年份:

 select dateadd(YY, 1, getdate())
于 2012-04-19T10:34:50.087 回答
1

使用dateadd()函数

SELECT dateadd(mm, 1, '19-Apr-2012')
于 2012-04-19T10:35:41.667 回答
1

要将 1 个月添加到当前日期:

SELECT DATEADD(m, 1, GETDATE())

要将 1 年添加到当前日期:

SELECT DATEADD(YY, 1, GETDATE())

有关其他参数,请参阅:

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

于 2012-04-19T10:38:01.977 回答
0

您可以使用 DateAdd:

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

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

于 2012-04-19T10:36:39.937 回答
0

像这样的东西应该可以完成这项工作

SELECT DATEADD(月, 1, '2012-04-19')

一年

SELECT DATEADD(年, 1, '2012-04-19')

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

于 2012-04-19T10:36:43.320 回答
0

您可以将此查询用于提前 1 个月的日期。此查询在 oracle 中运行良好。

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

对于提前 1 年的日期,请使用此查询

select add_months(trunc(sysdate),12) from dual;
于 2012-04-19T11:10:37.173 回答