我在网上看到了很多例子,还有一些在这里。但是,我的数据似乎没有任何作用。这里有几个朱利安日期与他们已知的转换值。在SQL中将7位Julian Date转换为DateTime?
JUL | DateTime
2454522 | 2008-02-25 00:00:00.000
2454571 | 2008-04-14 00:00:00.000
2455713 | 2011-05-31 00:00:00.000
我已经试过这不工作:
DECLARE @JD int = 2454522
SELECT DATEADD(YEAR, @JD/1000 - 1900, @JD % 1000 - 1)
它给了我这样的:2455年6月6日00:00:00.000这显然是错误的。我在这里错过了什么?感谢提前。
哪个RDBMS是这个呢? – 2013-04-29 13:14:14
Julian日期和YMD之间的转换并不是那么简单。请参阅http://en.wikipedia.org/wiki/Julian_day获取解释和算法,以便从另一个中计算出一个。 – sizzzzlerz 2013-04-29 13:22:39
@DavidAldridge:由于使用'@'来表示变量名,它看起来像SQLServer。 – 2013-04-29 15:35:20