2013-06-27 61 views
0

好吧,我不明白这件事。SQL日期值转换为整数

我的客户有一个传统的Windows应用程序(用于生成发票),它将日期值存储为整数。

问题是,像'01.01.2002'(值类型:日期)表示的内容确实作为731217(列类型:整数)存储在SQL Server 2000中。

它是一个已知的方法,以日期值转换成整数(例如 - 我不知道 - 为了使的时间差计算更容易)

顺便说一句,我必须迁移这些数据到一个新的应用程序,但我尽可能多地搜索它,我无法找出用于应用此类转换的算法。

任何人都可以带来一些光?

回答

1

它看起来像从1月1日0000以来的天数(尽管那一年并不存在)。

不管怎么说,像2000年1月1日那样采用一个日期作为参考,并且看看那个日期有多少个整数(类似730121)。

然后,您可以获取特定日期和参考日期的整数与使用DATEADD函数的参考日期的天数之差。

DATEADD(day, *difference (eg 731217 - 730121)*, *reference date in proper SQLServer format*) 

您可以调整,如果你关闭一天两个。