SSIS:将日期时间与变量进行比较

时间:2012-05-23 06:02:06

标签: datetime variables ssis

所以,我创建了一个数据类型为datetime的变量“batch”。现在我的OLEBD源有一个列“addDate”,例如2012-05-18 11:11:17.470所以要填充的空目的地。

现在这个列addDate有很多日期,我想复制所有日期“2012-05-18 11:11:17.470”

当我将变量的值作为此日期时,它会自动更改为mm / dd / yyyy hh; mm AM格式,因此在我的条件拆分转换中,它无法使日期与变量匹配,因此没有记录正被复制到目的地!!

问题究竟在哪里?

谢谢!

2 个答案:

答案 0 :(得分:0)

我有这个问题,我找到的最佳解决方案并非“漂亮”。 基本上你需要将变量的“表达式”和“evaluate as expression”更改为true(否则它将忽略表达式上的值)。

创建第二个变量来评估第一个变量的表达式,因为你不能根据表达式改变变量的值,这个秘密就是(以及我说它不是一个漂亮解决方案的原因)。

因此,假设您的变量名为“DateVariable”并且您有23/05/2012,例如创建一个名为“DateVar2”的变量并将其表达式设置为

  

(DT_WSTR,4)年(@ [User :: DateVariable])+“/”+ RIGHT(“0”+   (DT_WSTR,2)MONTH(@ [User :: DateVariable]),2)+“/”+ RIGHT(“0”+   (DT_WSTR,2)DAY(@ [用户:: DateVariable]),2)

这会给你2012/05/23

继续按照您想要的格式获取日期

答案 1 :(得分:0)

我找到了更简单的解决方案。选择数据类型为字符串。放任何所需的价值。 在条件拆分之前,您需要进行数据转换转换。 将其转换为DT_DBTIMESTAMP然后运行包。

有效!