Here is more t-sql code to look through. This shows multiple parsing actions against a julian date.
<font class="small">Code:</font><hr /><pre>
declare @jul decimal
declare @jul1 decimal
set @jul1 = 104092
declare @jul2 decimal
set @jul2 = 135365
declare @myjul decimal
declare @refDate datetime
set @myjul = ((100 + (datepart(yy,GetDate())-2000))*1000) + (datepart(dy,GetDate()))
--set @refDate = dateadd(day,(-1)* (datepart(dy,GETDATE())-1),GETDATE())
set @jul=@jul1
declare @tmp numeric
set @tmp = (cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 2000)
print 'tmp: ' + cast(@tmp as nvarchar(4))
print 'tmp_1: ' + cast((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 2000) as nvarchar(4))
--set @refDate = cast((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 2000)+ '-1-1 12:00:00.00' as datetime)
set @refDate = cast(cast((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 2000) as nvarchar(4)) + '-1-1 12:00:00.00' as datetime)
print cast(@refdate as nvarchar(30))
/*
print cast(@jul as nvarchar(6)) + ', ' +
cast(@jul as nvarchar(6)) + ', ' +
cast(@myjul as nvarchar(6)) + ', ' +
cast(@refDate as nvarchar(30))
print 'days: ' + cast((-1*(@myjul-@jul)) as nvarchar(5))
print 'Test 1 (previous jul date - ' + cast(@jul as nvarchar(6)) + '): ' +
cast(month(dateadd(day,(-1*(@myjul-@jul)),@refdate)) as nvarchar(2)) + '/' +
cast(day(dateadd(day,(-1*(@myjul-@jul)),@refdate)) as nvarchar(2)) + '/' +
cast(year(dateadd(day,(-1*(@myjul-@jul)),@refdate)) as nvarchar(4))
*/
print cast((cast(substring(cast(@jul as nvarchar(6)),3,1) as decimal) + 100)*1000 as nvarchar(6))
--(cast(substring(cast(@jul as nvarchar(6)),3,1) as decimal) + 100)*1000
print 'base: ' + cast(@jul as nvarchar(6))
print 'Month: '
print cast(month(dateadd(day,(@jul-((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 100)*1000)-1),cast(cast((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 2000) as nvarchar(4)) + '-1-1 12:00:00.00' as datetime))) as nvarchar(2)) + '/' + cast(day(dateadd(day,(@jul-((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 100)*1000)-1),cast(cast((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 2000) as nvarchar(4)) + '-1-1 12:00:00.00' as datetime))) as nvarchar(2)) + '/' + cast(year(dateadd(day,(@jul-((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 100)*1000)-1),cast(cast((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 2000) as nvarchar(4)) + '-1-1 12:00:00.00' as datetime))) as nvarchar(4))
print 'Day: '
print cast(day(dateadd(day,(@jul-((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 100)*1000)-1),cast(cast((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 2000) as nvarchar(4)) + '-1-1 12:00:00.00' as datetime))) as nvarchar(2)) + '/'
print 'Year: '
print cast(year(dateadd(day,(@jul-((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 100)*1000)-1),cast(cast((cast(substring(cast(@jul as nvarchar(6)),2,2) as decimal) + 2000) as nvarchar(4)) + '-1-1 12:00:00.00' as datetime))) as nvarchar(4))
</pre><hr />