如何在SSIS中删除varchar中的前缀号码



我有一个SSIS包,它将数据从文本文件复制到sql server中的表。

我使用3个任务相同1)平面文件源2)派生列任务,3)SQL目标任务

在第三个任务中,我指定了要复制数据的表。

在目标表中,有一个列DESC,它的类型是varchar…和平面文件包含该列的数据如下:- "01 planA".."计划C","计划j"。

我需要删除这些前缀数字。我有一个如下的查询,但我可以在派生列任务中使用它,因为SSIS不支持PATINDEX。

SUBSTRING([DESC], PATINDEX('%[a-zA-Z]%',[DESC]), LEN([DESC])- PATINDEX('%[a-zA-Z]%',[DESC])+1)

请帮帮我。

您可以在脚本任务中使用正则表达式执行此操作。你需要引用system . text . regulareexpressions,然后使用. net Regex对象在Input0_ProcessInputRow方法中模拟上面的代码。

或者,首先将原始数据发送到SQL staging表,并像示例中那样使用PATINDEX从那里提取数据,然后将清理后的版本推送到目标表。

相关内容

  • 没有找到相关文章

最新更新