2013-06-27 60 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*) 

您可以調整,如果你關閉一天兩個。