0

> 結果を返す必要があるときに >= 結果を返す SSIS データ フローの条件付き分割変換があります。

最初から...私のSSISパッケージは、パッケージスコープを持つDateTime型の変数User::max_dateに1つのテーブルからmax(date)を格納するSQLタスクを実行します。

次に、パッケージは、条件付きの分割変換を含むデータ フロー タスクの実行に進みますdate > @[User::max_date]。結果セットは常に User::max_date に等しい DateTime 値を持つ単一の行です。つまり、max(date) より新しい日付を持つ行が追加されていない場合、max(date) を含む行を返します。これは予期しない動作です。

さらに、条件付き分割からの他の出力は正しくありません。期待どおりのdate < @[User::max_date]すべての行ではなく、すべての行です。date <= @[User::max_date]

なぜこうなった?

アップデート:

これがどのように起こっているかはわかりましたが、理由はわかりません。 User::max_dateは DateTime を格納しておりdate、データ フロー タスクの値はDT_DBTIMESTAMP. それらを a と比較すると、DATEDIFF(..)ミリ秒以上の差しかありません。

だから私は問題を回避することができますが、なぜこれがこのように実装されるのか分かりません。

コメント?

4

1 に答える 1

0

どうでも。Microsoftフォーラムで回答を見つけました。

于 2009-01-09T01:49:31.387 に答える