SSIS 条件拆分错误 - 表达式评估为 NULL,但“条件拆分”需要布尔结果

Posted

技术标签:

【中文标题】SSIS 条件拆分错误 - 表达式评估为 NULL,但“条件拆分”需要布尔结果【英文标题】:SSIS Conditional Split Error - The expression evaluated to NULL, but the "Conditional Split" requires a Boolean results 【发布时间】:2021-12-30 07:31:47 【问题描述】:

这是我第一次使用这个软件。我正在尝试拆分值,但它显示了这一点,当我看到我的源时我没有任何空值,但是当我预览它时,它在前 200 列中显示空值,但我只有 15 列。

错误:数据流任务中的 0xC020902B,条件拆分 [2]:“条件拆分。输出 [案例 1]”上的表达式“[RATE_INR] > 1000”评估为 NULL,但“条件拆分”需要a 布尔结果。修改输出上的错误行处置以将此结果视为 False(忽略失败)或将此行重定向到错误输出(重定向行)。对于条件拆分,表达式结果必须是布尔值。 NULL 表达式结果是一个错误。

【问题讨论】:

【参考方案1】:

您在条件拆分组件中使用以下表达式:

[Copy of RATE_INR] > 1000

如错误消息中所述,此表达式被评估为NULL,这会引发异常,因为条件拆分组件需要布尔结果(真/假)。

你可以使用REPLACENULL函数解决这个问题:

REPLACENULL([Copy of RATE_INR],0) > 1000

或者

REPLACENULL([Copy of RATE_INR] > 1000, False)

【讨论】:

以上是关于SSIS 条件拆分错误 - 表达式评估为 NULL,但“条件拆分”需要布尔结果的主要内容,如果未能解决你的问题,请参考以下文章

SSIS条件拆分为平面文件目的地

SSIS 变量“变量”的表达式评估失败。表达式中有错误

SSIS 空值问题

SSIS中对多个工作表的条件拆分转换

SSIS 多个条件拆分

SSIS 表达式无法验证