如何删除 SSIS 派生列中列中带有数字的字符串?
How to remove string with number within a column in SSIS derived column?
(SSIS 主题)我有一个名为街道名称的列,其中包含带数字的字符串。我想删除街道名称列中的那些邮政信箱。
|street name |address |
|Queen Street |6 Queen Street |
|Main Street |11 Main Street |
|PO Box 5678 |PO Box 5678 |
|PO Box 1234 |PO Box 1234 |
|PO Box 9876 |PO Box 9876 |
这就是我想要达到的结果。
|street name |address |
|Queen Street |6 Queen Street |
|Main Street |11 Main Street |
| |PO Box 5678 |
| |PO Box 1234 |
| |PO Box 9876 |
表达式很难用于此任务。我建议使用脚本组件:
1) 添加脚本组件转换
2) 检查带有街道名称的列(我称之为地址)并将其标记为读写
3) 将以下内容添加到脚本中:
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;
using System.Linq; //be sure to add Linq to the namespaces
[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
public class ScriptMain : UserComponent
{
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
if (Row.address.Where(Char.IsDigit).ToArray().Length > 0)
{
Row.address = "";
}
}
}
(SSIS 主题)我有一个名为街道名称的列,其中包含带数字的字符串。我想删除街道名称列中的那些邮政信箱。
|street name |address |
|Queen Street |6 Queen Street |
|Main Street |11 Main Street |
|PO Box 5678 |PO Box 5678 |
|PO Box 1234 |PO Box 1234 |
|PO Box 9876 |PO Box 9876 |
这就是我想要达到的结果。
|street name |address |
|Queen Street |6 Queen Street |
|Main Street |11 Main Street |
| |PO Box 5678 |
| |PO Box 1234 |
| |PO Box 9876 |
表达式很难用于此任务。我建议使用脚本组件:
1) 添加脚本组件转换
2) 检查带有街道名称的列(我称之为地址)并将其标记为读写
3) 将以下内容添加到脚本中:
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;
using System.Linq; //be sure to add Linq to the namespaces
[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
public class ScriptMain : UserComponent
{
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
if (Row.address.Where(Char.IsDigit).ToArray().Length > 0)
{
Row.address = "";
}
}
}