2012-04-19 39 views
8

如何計算當前日期一個月後的日期。如何計算1個月後的日期currentDate

舉例如果我有19/04/2012我想獲得19/05/2012。是否有任何功能的SQL允許這樣做?

我需要做同樣的一年也喜歡19/04/2012,並設置19/04/2013

乾杯

回答

14

您可以使用 DATEADD(日期部分,數字,日期)

作爲指定here

實例(由於DarrenDavis)

爲一個月:

select dateadd(m, 1, getdate()) 

的一年:

select dateadd(YY, 1, getdate()) 
+0

太感謝你了! – CPM 2012-04-19 11:00:35

+0

是否有可能有一個特定的小時的日期,如1個月後,但時間必須是下午4點,所以將2012-04-19 16:00:00 – CPM 2012-04-19 11:31:32

+0

你可以試試這個... http:// stackoverflow.com/questions/4952207/set-time-portion-of-a-datetime-variable – Mithir 2012-04-19 11:44:55

0

您可以使用使用DateAdd:

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

網上搜索其他時期的指標,如小時,分鐘等!

+1

這是行不通的:SELECT DATEADD(Y,1,GETDATE()) - 它需要是YY – 2012-04-19 10:40:48

+0

修正了,謝謝! – 2012-04-19 10:45:24

0

您可以使用此查詢反超1月日。這個查詢在oracle中工作正常。

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

1年提前日期使用此查詢

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

此問題針對SQL Server(如已標記) - 沒有SQL Server add_months函數,也沒有雙重表。 – 2012-04-19 11:38:28

+0

我沒有看到:) – hitman047 2012-04-19 12:26:28