Stackoverflowを手伝ってください。この問題については、キーボードのすべての「HULKSMASH」に近づいています。私は注意深く調査しましたが、明らかに何かが正しくありません。
SQL 2005で作業していますが、プロプライエタリツール(Platinum SQL?)から参照されるJulian日付を使用しています。selectステートメントを実行すると、Julianの「特別な」バージョンを日時に変換できます。残念ながら、日時列には挿入されません。試してみると、次のエラーが発生します。
charデータ型をdatetimeデータ型に変換すると、datetime値の範囲外になりました。
そのため、ストアドプロシージャからレポートを実行するための日時基準を設定できません。
元の値:733416同等のカレンダー値:2009年1月9日
以下は私のコードです...私はとても近いですが、何が悪いのかよくわかりません。実際にジュリアン値(733416)を互換性のあるTSQLDATETIME値に変換するためのconvertステートメントが必要です。
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