Unable to convert from Julian INT date to regular TSQL Datetime

Posted by Bluehiro on Stack Overflow See other posts from Stack Overflow or by Bluehiro
Published on 2010-06-17T03:55:22Z Indexed on 2010/06/17 4:03 UTC
Read the original article Hit count: 600

Filed under:
|

Help me Stackoverflow, I'm close to going all "HULK SMASH" on my keyboard over this issue. I have researched carefully but I'm obviously not getting something right.

I am working with a Julian dates referenced from a proprietary tool (Platinum SQL?), though I'm working in SQL 2005. I can convert their "special" version of Julian into datetime when I run a select statement. Unfortunately it will not insert into a datetime column, I get the following error when I try:

The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

So I can't setup datetime criteria for running a report off of the Stored Procedure.

Original Value: 733416 Equivalent Calendar Value: 01-09-2009

Below is my code... I'm so close but I can't quite see what's wrong, I need my convert statement to actually convert the Julian value (733416) into a compatible TSQL DATETIME value.

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

© Stack Overflow or respective owner

Related posts about tsql

Related posts about julian