我想在我的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。为什么???
答案 0 :(得分:0)
尝试这样的事情
LEN(LTRIM(RTRIM([ColumnName])))==0 ? NULL(DT_WSTR, 10) : LTRIM(RTRIM([ColumnName]))
答案 1 :(得分:0)
我发现了自己的错误。谢谢你试图帮助我。
我有另一个数据流,它将30条记录添加到同一个表中,而不是测试,并假设是禁用,但它不是。咄