SSIS NULL(DT_WSTR,10)不返回NULL

时间:2016-02-09 04:40:06

标签: sql-server ssis null

我想在我的SSIS包中为“OLD_LEASE_NUMBER”列设置空字符串为NULL值,所以这里是公式

TRIM(OLD_LEASE_NUMBER) == "" ? NULL(DT_WSTR,10) : TRIM(OLD_LEASE_NUMBER)

当我在我的SQL表上选择时,它不会为此列显示NULL。此派生列在将记录插入表之前完成。该字段为OLD_LEASE_NUMBER(nvarchar(10),null)

为什么配方不起作用?如果这不是正确的方法,我该如何设置NULL值?

更新:目标是OLE DB,它是SQL Server上的表。它没有默认值。使用LEN返回相同的结果。访问模式是“OpenRowset Using FastLoad”,FastLoadKeepNull为true。

抱歉,图片无法显示。

NEW UPDATE: 对不起我坏了,我没看过表中的所有记录。它实际上只对前30行不为null。为什么???

2 个答案:

答案 0 :(得分:0)

尝试这样的事情

LEN(LTRIM(RTRIM([ColumnName])))==0 ? NULL(DT_WSTR, 10) : LTRIM(RTRIM([ColumnName]))

答案 1 :(得分:0)

我发现了自己的错误。谢谢你试图帮助我。

我有另一个数据流,它将30条记录添加到同一个表中,而不是测试,并假设是禁用,但它不是。咄