SSIS中的split组件中的表达式给出错误

时间:2017-10-20 11:48:22

标签: ssis

我正在尝试在我的SSIS包中实现条件拆分组件。我需要根据年份拆分记录。我需要提取过去5年的数据,并且需要在将其转储到目的地之前将其拆分

periodenddate是datetime字段。我需要从该字段中提取年份部分,并将其与表达式中提到的实际年份进行比较。我收到无效表达错误。有人能告诉我哪里出错了吗

我正在使用的表达式是例如

periodEndDate == YEAR(GETDATE())

请查找附带的错误

enter image description here

第二个错误

enter image description here

第三次错误

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您想要一年前的年份数,则需要使用:

YEAR([periodenddate]) = YEAR(GETDATE()) - 1
YEAR([periodenddate]) = YEAR(GETDATE()) - 2
etc.

在Year()函数的括号内使用“-1”将至少给出错误的答案。

请注意,每个版本的代码都有不同的错误:

  • 第一张图片显示由于SSIS区分大小写而无法找到字段
  • 第二张图片显示由于将datetimestamp与整数
  • 进行比较而导致的失败
  • 第三张图片显示表达式为“GETDATE() - 1”的错误,该错误位于与前两张图像不同的条件表达式组件上。