2015-09-21 104 views
1

我有以下兩列:導出日期欄基於當前日期和固定的起始日期

date (datetime), 
month_after_release (int) 

這些列作爲incremental update的一部分填充每月。

假設在2015年1月1日發佈了一個版本。這意味着我們目前在發佈[formula: round off((current date - release date)/30,0)+1 = 9]之後的第9個月。所以,如果我現在導入與當前日期的數據(2015年9月21日),兩個欄應填寫這樣的:它獲取進口則應該得到以下信息

date = 2015-09-21 00:00:00.000 
month_after_release = 9 

十月,數據:

date = 2015-10-21 00:00:00.000 
month_after_release = 10 

我該如何做到這一點?我想到的一種可能性是有一個單獨的映射表,它將每個日期映射到「month_after_release」,但我想知道是否有更好的可能性?

時釋放儲存在一個單獨的表,它看起來像這樣的信息:

ReleaseID, 
Release_start_date 
+0

你使用哪個dbms?日期/時間往往是產品特定的,遠離ANSI SQL。 – jarlh

+0

您應該清楚地描述您如何定義「月」,爲什麼2015年9月21日2015年1月1日之後10個月,而不是9? – dnoeth

+0

我已經爲錯字添加了必要的信息和道歉。 DBMS是SQL Server Management Studio 2008 R2 – stefan

回答

1
select releaseDate, DateDiff(MM, releaseDate, getdate()) MonthsSinceRelease 
from table t 

這就是你如何計算。