SQL日期值转换为整数

时间:2013-06-27 14:18:51

标签: sql-server date integer type-conversion

好的,我无法理解这件事。

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

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

将日期值转换为整数是否是一种已知的方法(例如 - 我不知道 - 为了使日期差异计算更容易?)

顺便说一句,我必须将这些数据迁移到一个新的应用程序中,但是为了我用Google搜索,我无法弄清楚用于应用这种转换的算法。

任何人都可以带点光吗?

1 个答案:

答案 0 :(得分:1)

它看起来像自0000年1月1日以来的天数(虽然那一年并不存在)。

无论如何,请将日期作为参考,如2000年1月1日,并查看该日期的整数(如730121)。

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

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

如果您在两天之前休息,您可以进行调整。