我的Julian日期为41348
,Excel将此Julian日期转换为3/15/2013
。您知道Excel用于计算日历日期的逻辑吗?我需要相同的逻辑将Julian日期转换为SQL Server中的日历日期。
答案 0 :(得分:4)
41348
不是朱利安约会。 Excel需要使用公式将朱利安日期转换为正确的日期。 183349
是朱利安约会的一个例子。 41348
只是01/01/1900
之后经过的天数。
如果我没记错的话,您可以将这些天数添加到01/01/1900
,以便在SQL Server中获得所需的结果。
编辑:是的,使用DATEADD
。添加01/01/1900
UPDATE Table
SET NewDate = DATEADD(Days, RawDate-2, '01/01/1900')
您需要从RawDate中删除1,因为1
对应01/01/1900
而另一个1
显然我不知道在哪里,但是正在调查。
在我的SQL Server2008R2上,显然它认为1900
是非闰年。需要额外的1
才能删除!
答案 1 :(得分:1)
我希望41348朱利安的约会不是“3/15/2013”
前两位是年份 并且接下来的3位代表日期348意味着12月14日。
我在Sql中用下面的表达式做了同样的事。
选择DATEADD(天,CAST(右('41348',3)AS int) - 1,CONVERT(datetime,LEFT('41348',2)+'0101',112))