首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件分裂解释

条件分裂解释
EN

Stack Overflow用户
提问于 2016-06-25 05:59:07
回答 1查看 146关注 0票数 0

试图理解下面的条件拆分表达式试图做什么:

=REPLACENULL(Employee_ID_WD,"0"),LEN(REPLACENULL(Employee_ID,“0”)

我是SSIS的新手,有人能解释一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-25 13:55:59

这是一个相对直截了当的表达方式,当你打破它。

简单地说(tl;dr),如果Employee_ID_WD为null或Employee_ID值不在Employee_ID_WD值中,则返回true。否则,返回false

详细信息:

第一部分,ISNULL(Employee_ID_WD),检查Employee_ID_WD是否为null。如果是,表达式将立即返回true。原因就在于后面的||。这被称为逻辑或。如果您在许多编程中看到这一点,它表明程序员希望在||之前立即返回表达式(如果其中的任何部分是真的)。换句话说,如果在||之前有什么事情是真的,那么开始做我需要您做的事情,在这个表达式中检查任何东西都是没有意义的,我知道我需要知道什么才能继续前进。这被称为短路评估.维基

如果Employee_ID_WD不是null,我们将继续到表达式的下一部分。

本部分:

代码语言:javascript
复制
(RIGHT(REPLACENULL(Employee_ID_WD,"0"),LEN(REPLACENULL(Employee_ID,"0")))

正在抓取Employee_ID_WD右侧的字符。它要求的字符数是从运行在LEN上的Employee_ID (长度)函数返回的。另外,这两个部分都在检查它们传入的值是否为null,如REPLACENULL函数所示。如果它们为null,则返回值为0的字符串。这是在其中一个值为null的情况下完成的,这样您就可以得到一个真值比较。在这个表达式的所有部分中使用REPLACENULL函数可以使它更加健壮,这意味着与数据的不一致将被处理,而不会出现错误,或者最终给出一致的结果。

以上部分的结果与REPLACENULL(Employee_ID,"0")的结果进行了比较。如果上面的部分与此不相等(!=不等于),则表达式返回true。

SSIS表达式引用

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38025485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档