为什么是> SSIS 包中的条件分割返回 >= 结果? 更新:(日期时间!= DT_DBTIMESTAMP?!)

发布于 2024-07-11 04:08:21 字数 869 浏览 7 评论 0原文

我有一个 SSIS 数据流条件分割转换,当它应该返回 >= 结果时,它返回 >= 结果。 结果。

从一开始...我的 SSIS 包执行一个 SQL 任务,该任务将一个表中的 max(date) 存储在具有包范围的 DateTime 类型的变量 User::max_date 中。

然后,我的包继续执行一个数据流任务,该任务中有一个条件分割转换,其条件为 date > > @[用户::max_date]。 结果集始终是 DateTime 值等于 User::max_date 的单行,也就是说,如果没有添加比 max(date) 更新的日期的行,则返回包含 max(date) 的行。 这是意想不到的行为。

此外,条件分割的其他输出是不正确的——它是所有带有 date date date date 的行。 @[User::max_date] 而不是所有带有 date <= @[User::max_date] 的行都如人们所期望的那样。

为什么会发生这种情况?

更新:

我已经弄清楚这是如何发生的,但不知道为什么。 User::max_date 正在存储 DateTime,而我的数据流任务中的 date 值是 DT_DBTIMESTAMP。 将它们与 DATEDIFF(..) 进行比较后,它们仅在毫秒及更长时间内有所不同。

所以我可以解决这个问题,但我不知道为什么要这样实现。

评论?

I have an SSIS data flow conditional split transformation that is returning a >= result when it should be returning a > result.

From the beginning... My SSIS package executes a SQL task that stores a max(date) from one table in variable User::max_date of type DateTime that has package scope.

My package then proceeds to execute a Data Flow task which has a conditional split transformation in it that has the condition date > @[User::max_date]. The result set is always a single row which has the DateTime value equal to User::max_date, that is it returns the row that contains max(date) if no more rows have been added with more recent dates than max(date). Which is the unexpected behaviour.

Furthermore, the other output from the conditional split is incorrect -- it's all the rows with date < @[User::max_date] and not all the rows with date <= @[User::max_date] as one would expect.

Why is this happening?

Update:

I've figured out how this is happening, but not why. User::max_date is storing a DateTime and my date value from my Data Flow task is a DT_DBTIMESTAMP. Upon comparing them with a DATEDIFF(..) they differ only at milliseconds and beyond.

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

Comments?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧情勿念 2024-07-18 04:08:22

没关系。 在 Microsoft 论坛

Nevermind. Found the answer on the Microsoft forums.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文