2015-09-21 59 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 

这就是你如何计算。