Why does> conditional splitting in SSIS package return> = result? update: (DateTime! = DT_DBTIMESTAMP ?!)

I have an SSIS conditional split datastream transform returning a> = result when it should return a> result.

Right from the start ... My SSIS package is doing an SQL task that stores the maximum (date) from a single table in a User :: max_date variable of type DateTime with package scope.

My package then proceeds to execute the dataflow task, which has a conditional split in it, which has a condition date > @[User::max_date]

. The result set is always a single row with a DateTime value of User :: max_date, that is, it returns a string that contains max (date) if no more rows have been added with dates later than max (date). This is unexpected behavior.

Also, the other conclusion from the conditional split is incorrect - all lines with date < @[User::max_date]

, not all lines with date <= @[User::max_date]

, as you would expect.

Why is this happening?

Update:

I understood how this happens, but not why. User::max_date

stores the DateTime value, and the my value date

from my dataflow task is DT_DBTIMESTAMP

. Comparing them to DATEDIFF(..)

, they differ only in milliseconds or more.

So I can work around the problem, but I have no idea why it would be implemented this way.

Comments?

0


source to share


1 answer


Nevermind. Found an answer on Microsoft forums .



0


source







All Articles