SSISとそのデータ型が比較的新しいです。コンマ区切りの.txtフラットファイルからSQL Serverにデータをインポートするデータフロータスクを作成しました。タスクを実行するときにエラーが.txtファイルの日付フィールドがNullに0と日付フィールドを変換する派生列発現のために0ゼロ付き日付フィールドのSSISパッケージ - 派生列の条件式
を持っている時点で、私が来て、発生しました
データ型「DT_WSTR」と「DT_I4は、」互換性がありません:
[Latest Bill Due Date]==0 ? NULL(DT_DATE) : (DT_DATE)[Latest Bill Due Date]
...これまでのところ、以下の...しかし、ロジックが受け入れられ、エラーメッセージが表示されていないとアップbのためにinary演算子 "=="。オペランド型を暗黙的に互換性のある型にキャストすることはできませんでした。この操作を実行するには、一方または両方のオペランドをキャスト演算子で明示的にキャストする必要があります。
ありがとうございます。
"最新の請求期限"はユニコード(DT_WSTR)であるように見えます。 [最新の請求期限] == "0"の前後に引用符を追加しますか? NULL(DT_DATE):(DT_DATE)[最新の請求期限] –
ありがとうございます。この質問を書くことで、比較のどちらの側のデータ型も同じ型でなければならないJavaプログラミングクラスが覚えました。ソースフィールドは文字列として認識されています。最終的なコードが動作します(ソースデータでYYYYMMDDフォーマットを処理するために必要なSUBSTRINGを含みます): LTRIM([最新の請求期限])== "0"? [最新の請求期限]、1,4)+ " - " + SUBSTRING([最新の請求期限]、5,2)+ " - " + SUBSTRING([最新の請求書期日]、7,2)) –