【发布时间】:2010-06-17 03:55:22
【问题描述】:
帮助我 Stackoverflow,我即将在我的键盘上解决这个问题。我已经仔细研究过,但显然我没有做对。
虽然我使用的是 SQL 2005,但我正在使用从专有工具(Platinum SQL?)引用的 Julian 日期。当我运行 select 语句时,我可以将他们的“特殊”版本的 Julian 转换为日期时间。不幸的是,它不会插入到日期时间列中,我尝试时收到以下错误:
将 char 数据类型转换为日期时间数据类型导致日期时间值超出范围。
所以我无法设置日期时间标准来运行存储过程的报告。
原值:733416 等效日历值:01-09-2009
下面是我的代码...我已经很接近了,但我看不出有什么问题,我需要我的 convert 语句将 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
【问题讨论】:
-
很确定我的回答解决了您的问题。如果确实如此,请将其标记为已接受的答案,否则请告诉我我的答案没有多大帮助。
标签: tsql julian-date