帮助我Stackoverflow,我正在接近在我的键盘上关于此问题的所有“HULK SMASH”。我仔细研究过,但我显然没有得到正确的结果。无法从Julian INT日期转换为常规TSQL日期时间
我正在使用专有工具(Platinum SQL?)引用的Julian日期,尽管我在SQL 2005中工作。在运行select语句时,我可以将Julian的“特殊”版本转换为datetime。不幸的是,它不会插入到日期时间列中,当我尝试时出现以下错误:
将char数据类型转换为日期时间数据类型导致超出范围的日期时间值。
所以我不能设置日期时间标准来运行关于存储过程的报告。
原价:733416 等效日历值:01-09-2009
下面是我的代码...我很接近,但我不能完全看到什么是错的,我需要转换语句实际上将Julian值(733416)转换为兼容的TSQL DATETIME值。
SELECT
org_id,
CASE WHEN date_applied = 0 THEN '00-00-00'
ELSE convert(char(50),dateadd(day,date_applied-729960,convert(datetime, '07-25-99')),101)
END AS date_applied,
CASE WHEN date_posted = 0 THEN '00-00-00'
ELSE convert(char(50),dateadd(day,date_posted-729960,convert(datetime, '07-25-99')),101)
END AS date_posted
from general_vw
很确定我的答案解决了您的问题。如果确实如此,请将其标记为已接受的答案,否则请让我知道我的答案如何帮助不大。 – 2010-06-17 04:03:31