Помогите мне, Stackoverflow, я близок к тому, чтобы решить эту проблему с помощью «HULK SMASH» на моей клавиатуре. Я тщательно исследовал, но, очевидно, что-то не так.
Я работаю с юлианскими датами, на которые ссылаются из проприетарного инструмента (Platinum SQL?), Хотя я работаю в SQL 2005. Я могу преобразовать их «специальную» версию Джулиана в datetime, когда я запускаю оператор выбора. К сожалению, он не будет вставлен в столбец datetime, при попытке получить следующую ошибку:
Преобразование типа данных char в тип данных datetime привело к значению datetime вне диапазона.
Поэтому я не могу установить критерии даты и времени для запуска отчета из хранимой процедуры.
Исходное значение: 733416
Значение календарного эквивалента: 01-09-2009
Ниже приведен мой код ... Я так близко, но я не совсем понимаю, в чем дело, мне нужно, чтобы мой оператор convert фактически преобразовал юлианское значение (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