任何人都可以帮助我解码 SSIS 派生列中的条件(?)运算符

阿吉特·维尔马

我必须在 SQL 查询中解码以下表达式,但对 SSIS 不太熟悉,因此任何主体都可以帮助我解码此表达式。

D_UPDTD_LOAD_LOG_KEY =   CRCTD_LOAD_LOG_KEY > 0 ? FINDSTRING(@[User::LV_LoadLogKey],LTRIM(RTRIM((DT_WSTR,35)CRCTD_LOAD_LOG_KEY)),1) > 0 ? CRCTD_LOAD_LOG_KEY : UPDTD_LOAD_LOG_KEY : UPDTD_LOAD_LOG_KEY
拉努

在不知道您不理解表达式的哪些部分的情况下,这个答案有点宽泛,但会告诉您每个部分的作用。然后由您来整理信息。

首先让我们看一下这个语法:

{Boolean Expression} ? {Scalar Value} : {Scalar Value}

在 SSIS 中,这是一个内联 If。它是IIFT-SQL 中的等价物(这是一个简短的CASE表达式)。简单来说,以下表达式具有可比性:

SomeValue > Another Value ? 1 : 0
IIF(SomeValue > AnotherValue, 1, 0)
CASE WHEN SomeValue > AnotherValue THEN 1 ELSE 0 END

在您的表达式中,您嵌套了内联 ifs,因此简而言之,如下所示:

{Boolean Expression 1} ? {Boolean Expression 2} ? {Scalar Value When 1 and 2 are true} : {Scalar Value when 1 is true, 2 is false} : {Scalar Value when 1 is false}

如果有帮助,这里有一个添加括号的版本,以帮助查看内联 if 的开始和结束位置:

({Boolean Expression 1} ? ({Boolean Expression 2} ? {Scalar Value When 1 and 2 are true} : {Scalar Value when 1 is true, 2 is false}) : {Scalar Value when 1 is false})

现在让我们看看第二个布尔表达式:

FINDSTRING(@[User::LV_LoadLogKey],LTRIM(RTRIM((DT_WSTR,35)CRCTD_LOAD_LOG_KEY)),1) > 0 

这里有几个运算符。首先(DT_WSTR,35)将以下表达式(在本例中CRCTD_LOAD_LOG_KEY)转换DT_WSTR为长度为 35DT_WSTR的 a。与nvarcharT-SQL 中的等效所以这与 T-SQLCONVERT(nvarchar(35),CRCTD_LOAD_LOG_KEY)CAST(CRCTD_LOAD_LOG_KEY AS nvarchar(35))在 T-SQL 中是等效的

LTRIMRTRIM与他们的 T-SQL 同行做同样的事情;它们从字符串中删除前导和尾随空白字符。

最后你有FINDSTRING,这CHARINDEX在 T-SQL 中是等价的唯一的区别是前2个参数颠倒了;第一个参数是要搜索的字符(或多个)的字符串,并且所述第二参数中的字符(一个或多个)来搜索第三个参数相同,出现次数。因此,对于您FINDSTRING简化版本,以下内容是等效的:

FINSTRING(@[User::LV_LoadLogKey],CRCTD_LOAD_LOG_KEY,1)
CHARINDEX(CRCTD_LOAD_LOG_KEY, @LV_LoadLogKey,1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

任何人都可以给我一些关于NSManagedObjectContext中的方法“ refreshAllObjects”的参考

任何人都可以帮助如何使用Html.Kendo()。CheckBoxFor(m => m.Enable)中的事件

任何人都可以在以下情况下帮助我在DAC上

任何人都可以解释这些功能,因为我在官方文档中找不到任何描述

任何人都可以在用户界面风格定位方面帮助我

wordpress wp-config被劫持,任何人都可以解码它在代码中运行的内容吗?

请任何人可以帮助我找出xml文件中的错误

任何人都可以建议我是否有任何可能的方法来在CSS中添加php变量

SSIS派生列中的嵌套IF THEN ELSE运算符

任何人都可以帮助我在 intelliJ 中使用 GUI 页面

任何人都可以帮助 webapps 中的缓存过程吗?

Visualforce 页面在新页面中打开,我希望它在新选项卡中打开?任何人都可以提供帮助

当有多个本地化属性时,任何人都可以帮助我解决主动事件 API 中本地化属性数组的结构吗?

任何人都可以帮助我在颤振中对齐布局吗?

我对执行流程感到震惊,任何人都可以帮助我

你好。我想降低 Java 脚本中按钮到顶部的滚动速度。任何人都可以帮助我吗?

任何人都可以在这段代码中解释我的打印语句吗?

任何人都可以帮助我理解,redux 在现实生活中的实际用途是什么?

任何身体都可以帮助我使用形状在 android 中创建此图像吗

我在 Django admin 中遇到这些错误,任何人都可以帮我这个

任何人都可以帮助我理解下面代码中的问题吗?

任何人都可以帮助我进行以下 SQL 查询吗?

任何人都可以帮助我解决在 Xcode 上使用 swift 从 Firebase 检索数据的问题吗?“源文件中的编辑器占位符”

任何人都可以帮助我进行 webpack 配置吗?

我想在指令中调用我的 API 并在我需要的地方使用指令。任何人都可以帮助我。请罚款我的例子

当我收到错误错误代码:1248 时,我正在这样做。每个派生表都必须有自己的别名,任何人都可以帮助我,为什么会出错?

任何人都可以在颤振中向我解释这段代码吗?

任何人都可以帮助我通过 CSS 对齐图标吗?

任何人都可以通过 PySimpleGUI 帮助我编写代码完成此操作