【问题标题】:SSIS - Derived Columns - Case Statment - Charindex and SubstringSSIS - 派生列 - 案例语句 - 字符索引和子字符串
【发布时间】:2017-03-29 13:21:00
【问题描述】:

我在 T-SQL 中进行了以下转换:

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 将其放入派生列对象中的表达式中?

问候!!!

【问题讨论】:

    标签: sql-server ssis substring charindex derived-column


    【解决方案1】:

    派生列转换使用 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://docs.microsoft.com/en-us/sql/integration-services/expressions/findstring-ssis-expression

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 2020-12-01
      • 2021-12-09
      • 2020-07-20
      相关资源
      最近更新 更多