SSIS - 派生列 - 案例统计 - 字符索引和子字符串



我在T-SQL中有fololwing转换:

SELECT [FIELD_A] = case when CHARINDEX('-', FIELD_B)>0 then LEFT(FIELD_B,CHARINDEX('-', FIELD_B)-1)
    else FIELD_B end,

如何使用 SQL Server Integration Services 2014 将其放入派生列对象中的表达式中?

问候!!!

派生列转换使用 SSIS 表达式语法。 其语法如下:

FINDSTRING(FIELD_B, "-", 1) > 0 ? LEFT(FIELD_B, FINDSTRING(FIELD_B, "-", 1)-1) : FIELD_B

我还没有测试过它,但它应该让你走上正确的道路。 要演练它:

  • FINDSTRING 采用 3 个值 - 要搜索的文本、要搜索的文本以及要查找的匹配项。
  • SSIS 表达式中的"If"逻辑是 ? 和 : 符号。 这?跟在"If"布尔表达式之后,: 分隔"If true"和"If False"表达式。
  • SSIS 表达式中的文本字符串需要用双引号括起来。

查找字符串引用:https://learn.microsoft.com/en-us/sql/integration-services/expressions/findstring-ssis-expression

条件引用:https://learn.microsoft.com/en-us/sql/integration-services/expressions/conditional-ssis-expression

最新更新