在SSIS拆分组件中的表达式给出错误
问题描述:
我想在我的SSIS包中实现条件拆分组件。我需要根据年份来分割记录。我需要提取过去5年的数据,并在将其转储到目标之前需要将其拆分。在SSIS拆分组件中的表达式给出错误
periodenddate是datetime字段。我需要从该字段中提取年份,并将其与表达式中提到的实际年份进行比较。我收到无效表达式的错误。可能有人告诉我,我要去哪里错了
我现在用的表达是如
periodEndDate == YEAR(GETDATE())
请找出错误连接
二错误
第三届错误
答
如果你想从一年前的年数,你需要使用:
YEAR([periodenddate]) = YEAR(GETDATE()) - 1
YEAR([periodenddate]) = YEAR(GETDATE()) - 2
etc.
具有“-1”的括号年度内()函数至少会给你错误的答案。
请注意,您与您的代码的每个版本有不同的错误:
- 第一张图片显示一个无法找到一个字段由于SSIS是大小写敏感的
- 第二张图片显示因故障将日期时间戳与一个整数进行比较
- 第三张图像显示与表达式“GETDATE() - 1”的错误,该错误与前两张图像位于不同的条件表达式组件上。
'periodenddate'全部小写,不是骆驼的情况! – MiguelH
我试着把小写字母仍然出错。请参阅屏幕截图标题第二个错误。还尝试过单个等于运算符 – Tom
当您尝试三种不同的事情时,很难回答一个问题,得到三个不同的错误,但是您只显示一次尝试的代码。您显示的代码中出现错误的原因是由于小写,因为SSIS区分大小写。修复这个问题,显示你现在使用的代码和你从中得到的错误,并且有可能进一步帮助你。 –