使用 SSIS 从列中删除特殊字符 " 和 '

Posted

技术标签:

【中文标题】使用 SSIS 从列中删除特殊字符 " 和 \'【英文标题】:remove special characters " and ' from a column using SSIS使用 SSIS 从列中删除特殊字符 " 和 ' 【发布时间】:2019-08-27 12:04:03 【问题描述】:

我有一个 csv,它有一个名为“Value”的列,其中包含字符串和特殊字符的组合。

例如:

Value
abc
xyz
"
pqr
'

我想用空字符串“”替换输出文件中的“和'特殊字符。我使用派生列“替换”函数作为

Replace(Replace(Value,"'",""),"\"","") 

它似乎不起作用

试过这个:在派生列中

Replace(Replace(Value,"'",""),"\"","")

我希望输出在一个平面文件中,其中 value 列为

Value
"abc"
"xyz"
""
"pqr"
""

【问题讨论】:

派生列表达式似乎是正确的。输出是什么? and it doesn't seem to work 是什么意思? 您是否更改了目标映射以指向派生列? 是的,我将新列映射到输出列。 在输出文件中,'到"没有变化 能否在派生列之前和派生列之后添加数据查看器,并交叉检查两个数据查看器的输出? 【参考方案1】:

我想用空字符串“”替换“和”特殊字符

如果您希望从所有值中删除所有引号,那么您使用的派生列表达式就可以了:

Replace(Replace(Value,"'",""),"\"","") 

既然你提到它似乎不起作用,那么你必须检查许多可能的原因:

    检查引用是'而不是`,试试下面的表达式

    Replace(Replace(Replace(Value,"'",""),"\"",""),"`","")
    

    如果您的目标是目标平面文件中的所有值都包含在两个双引号内:"abc", "",那么您应该编辑目标的平面文件连接管理器并将 " 设置为文本限定符并确保列限定属性设置为 true。

    Text Qualifier in SSIS Example Meaning of TextQualified attribute in flat file connections 正如@Srikarmogaliraju 提到的,确保派生列输出映射到目标中

【讨论】:

以上是关于使用 SSIS 从列中删除特殊字符 " 和 '的主要内容,如果未能解决你的问题,请参考以下文章

SQL 从列中删除字符

从列中删除字符串组合

从列标题中删除特殊字符[重复]

从列中删除逗号,空格和“NULL”字符串为0(零)

如何删除/替换字符串列中的一系列特殊字符? [关闭]

从列中删除所有值并将其设为空白 [重复]