在执行sql任务中。我有一个名为LastEditedBY的列,它是源系统1中的varchar。在执行Sql任务中,我所做的只是:
Select cast ( LastEditedBy as INT) from Table1
此刻为空的所有值。然后我将它存储在INT类型的变量中,称为LastEditedBy。
然后我在第二个Execute Sql Task中运行一个存储过程以插入到Source System 2中,这需要输入为INT数据类型。
通过Watch Window在SSIS中观察,它取一个null并将变量设置为0而不是'',空字符串。
这是缺陷吗?我怎样才能确保为null而不是0,我得到一个''?
答案 0 :(得分:1)
SSIS中的INT变量会将NULL转换为零,在您的情况下我建议将变量声明为字符串并在稍后阶段(可能在SP中)转换为INT。