2012-08-29 54 views
-8

我正在使用小型商业软件并导入到SQL Server。但有数字:SQL如何将数字(整数)转换为日期?

75739 
76910 
73105 
75821 
75245 
75605 
77169 
73265 
75611 
74073 
77012 

这代表我认为的日期。

如何将这些数字转换为日期YYYY-MM-DDYYYYMMDD

+12

这些代表什么日期? – gbn

+0

我现在没有...我只是得到文件 – Justin

+4

没有这些数字和日期之间的映射,我们不禁要问 - 你问这些文件的人。 – Oded

回答

5

基于1900年1月1日的SQL Server的时期(基地或零日期),这些日期是在22世纪

SELECT DATEADD(day, 75739, 0) -- 2107-05-15 00:00:00.000 

或者,它们基于下界日期时间的?这是1960年ISH,它适用于出生日期

SELECT DATEADD(day, 75739, '17530101') -- 1960-05-15 00:00:00.000 

tl; dr需要更多信息。否则,甚至不要尝试

1

一般来说,当日期表示为数字时,那么它们表示自给定日期以来的天数。在一些caes中,你可能有一个像20120829这样的数字,实际上它可以被解析为YYYYMMDD。但是这些日期似乎并不是这种形式。另一种格式可能类似于YYday-year,因此100001将是2010年1月1日。但是,这些日期也不会以该格式显示。

假设这些都是因为给定日期的天,然后在SQL Server中,你可以使用:

select dateadd(day, <val>, <basedate>) 

对于Excel,你可以使用成才,如:

select dateadd(day, <val>, '1899-12-31') 

然而,把这些日期在22世纪。

您需要了解更多关于这些日期的格式。