SSIS派生列和条件分割

时间:2017-03-08 06:31:25

标签: ssis

我有一个包含多个数据值的列,我想根据“ID”和“datetime”将其拆分到我的数据库中的后续新列col00_ReqIDcol00_Datetime中。

我尝试使用条件拆分但遇到错误。

条件分割中使用的表达式:

对于ReqID,

SUBSTRING(col00,1,10) == "Request id"

对于日期时间,

LEN(col00) > 22

对条件分割部分有什么建议吗?感谢您的意见。

-update as of 10th March: conditional split error have been resolved. Thank you everyone for your inputs. For anyone encountering error when splitting, kindly refer to the answers provided below.

期望的输出: Click for image.

1 个答案:

答案 0 :(得分:1)

您可以使用以下条件:

  1. !ISNULL(col00)&& SUBSTRING(col00,1,10)=="请求ID"
  2. !ISNULL(col00)&& LEN(col00)> 22
  3. ISNULL(col00)
  4. 条件分割任务中,处理条件中可能为NULL的每一列。

    我还使用派生列任务:

    进行了此练习
    SUBSTRING(col00,1,10) == "Request id" ? 
    SUBSTRING(col00,14,LEN(col00) - 14) : col00
    

    任务验证SUBSTRING(col00,1,10)=="请求ID"否则使用内容列; 14是计算到第一个数字" Request id"。

    之前的长度

    我希望这有帮助。