我有一张包含以下“更新日期”字段的表格。我需要将其转换为YYYY / MM / DD,类似于excel逻辑的工作方式。图像显示正确的日期和转换它的公式。如何使用SQL将这些数字转换为图像中显示的相同日期? (N14 = 113158)
答案 0 :(得分:4)
试试这个:
declare @i int = 113158
Select dateadd(year, @i/1000, @i%1000-1)
答案 1 :(得分:0)
计算当年的第一天,然后添加日期。
这样,当它是闰年时,它也会给出正确的结果。
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