私の SQL 2008 SSIS 環境では、CSV ファイルからのデータがあり、null 日付を修正する必要があります。
CSV からのデータは次のようになります。
01011990
01011990
01011990
01011990
01011990
私のステージング テーブルには、次のように定義された列があります。
[SHIPPED DATE] date NOT NULL
最初に、次の派生変換を使用して列をプッシュすることにより、日付の値を修正します。
(DT_DBDATE)(SUBSTRING([出荷日],1,2) + "/" + SUBSTRING([出荷日],3,2) + "/" + SUBSTRING([出荷日],5,4))
上記の変換により、文字列の日付が CSV インポートから SQL データベースの日付列にインポートされます。
これの出力は次のとおりです。
1990-01-01
1990-01-01
1990-01-01
1990-01-01
1990-01-01
Next
、データベースの「NOT NULL」定義に忠実であり続けることができるように、NULL 日付を処理したいと思います。私がやりたいことは、NULL 日付にデフォルト値を割り当てることですが、以下のようなエラー メッセージが表示されます。
CSV から SQL へのエラー [派生列 [24817]]: データ型 "DT_WSTR" と "DT_DBDATE" は条件演算子と互換性がありません。オペランドの型は、条件演算の互換性のある型に暗黙的にキャストすることはできません。この操作を実行するには、一方または両方のオペランドをキャスト演算子で明示的にキャストする必要があります。
私のCSV列はWSTRで、SQL DBの宛先は「日付」列です。
私が使用しようとしている私の変換は次のとおりです: ISNULL([SHIPPED_DATE]) ? "1900-01-01" : [発送日]
上記のメッセージが原因で動作したくありません。誰かが私を正しい方向に向けることができますか?