如何在SSIS中使用Substring

时间:2014-09-05 10:56:26

标签: sql sql-server sharepoint ssis

我想使用SSIS将数据从SharePoint列表导出到SQL。 在SharePoint列表中,我有一个列作为多选,因此我在列

中的值低于此值
1;#control 1;#3;#control 3

我想在派生列中使用子字符串,以便我得到低于结果

1,3

我只想要来自给定列的ID。

我试过下面的代码

SUBSTRING(ColumnName,1,FINDSTRING(ColumnName,&#34 ;;#",1) - 1)

但它只给我回答

1

任何人都可以帮助我。?

1 个答案:

答案 0 :(得分:2)

由于在SharePoint Multi-Select中选择了未知数量的控件,因此派生列转换不适合您。你必须使用一个脚本。

解析字符串的一种方法是使用正则表达式。您必须向脚本转换添加输出并将解析后的字符串分配给该输出。

        Regex controlExpression = new Regex(@"control ([0-9]+)");
        MatchCollection controlMatches = controlExpression.Matches(--YOUR INPUT HERE--);
        String output = string.Join(",", 
            (controlMatches.Cast<Match>().Select(n => n.Groups[1].ToString())).ToArray());