2016-07-06 4 views
0

実行SQLタスク。私は私がすべてであり、SQL実行タスクでソースシステム1のvarchar型であるLastEditedBYという列があります。現時点ではヌルですSSISがデータ移動で行う奇妙なこと

Select cast (LastEditedBy as INT) from Table1 

すべての値を。私はLastEditedByというINT型の変数に格納します。

次に、2番目のExecute SQLタスクでストアドプロシージャを実行して、ソースシステム2に挿入します。この場合、データ型INTの入力が必要です。

ウォッチウィンドウでSSISを見ると、NULLをとり、変数を空の文字列ではなく0に設定します。

これは欠陥ですか?どうすればNULLを0にする代わりに、私は ''を得ることができますか?

+0

SELECTキャスト(INTとしてNull)でもNULLが返されますが、SSISで変数をチェックできますか?おそらくデフォルトが0に設定されている可能性があります。 – mcha

+1

int型の変数は、いかなる状況においても空の文字列を含むことはできません。 –

答えて

1

SSISのINT変数はNULLをゼロに変換します。あなたのケースでは、変数を文字列として宣言し、後でINTに変換することをお勧めします。