使用SQL Server模拟EXCEL INT到DATE逻辑

我有一个与下面的“更新date”字段的表。 我需要将其转换为YYYY / MM / DD,类似于Excel的逻辑。 该图像显示正确的date和转换它的公式。 如何将这些数字转换为图像中使用SQL显示的相同date? (N14 = 113158)

尝试这个:

declare @i int = 113158 Select dateadd(year, @i/1000, @i%1000-1) 

计算那一年的第一天,然后加上天。

这样一来闰年就能给出正确的结果。

 select EAUPMU, DATEADD(day, (EAUPMU % 1000)-1, DATEFROMPARTS((1900 + EAUPMU/1000),1,1)) as [EauPmuDate], DATEADD(day, (EAUPMU % 1000)-1, dateadd(year,EAUPMU/1000,0)) as [EauPmuDateTime] from ( values (113158),(112158) ) as T(EAUPMU); 

结果:

 EAUPMU EauPmuDate EauPmuDateTime 113158 2013-06-07 2013-06-07 00:00:00.000 112158 2012-06-06 2012-06-06 00:00:00.000