2012-10-17 79 views
1

我想取當前日期並將其增加到下個月的第15天。將日期增加到下個月的特定日期

[<Date> #dmmm 15, yyyy] 

Result: 
Oct 15, 2012 

DESIRED RESULT: 
Nov 15, 2012 

預先感謝您的幫助!

+0

你能提供更多的細節嗎?存儲在數據庫中時你想要增加嗎?我只是假設它是一個數據庫問題與你的標籤(沒有別的表明你的環境或你正在嘗試做什麼)。對其他人來說,這可能更加明顯,只是試圖澄清。 – jheddings

回答

0

好吧,如果你開始的日期是15日,那麼你就可以執行此操作:但是

SELECT DATEADD(mm, 1, [DateField]) 

,如果我們不知道是什麼開始的第一天是我們必須構建我們可以先啓動的日期,所以你可以做這樣的事情:

SELECT DATEADD(mm, 1, 
    CAST(
     CAST(DATEPART(mm, [DateField]) AS VARCHAR) + 
     '/15/' + 
     CAST(DATEPART(yy, [DateField]) AS VARCHAR) 
    AS DATETIME)) 

從阿隆 - 這裏是我會怎麼寫這避免簡寫,地區問題和不當的鑄造:

SELECT DATEADD(MONTH, 1, CONVERT(CHAR(6), DateColumn, 112) + '15') 
FROM ... 
+0

工作完美 - 非常感謝,@BigM! –

+0

@JamieS,不是問題,我很高興我可以幫助! –

+1

這裏要非常小心兩件事:(1)投射到沒有長度的varchar。在這種情況下沒關係,但[一般不鼓勵鼓勵](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/bad-habits-to-kick-declaring-varchar-沒有-length.aspx)。 (2)這似乎依賴於m/d/y日期格式。用'SET LANGUAGE BRITISH'試試這段代碼... –