使用 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。
【讨论】:
以上是关于使用 SSIS 从列中删除特殊字符 " 和 '的主要内容,如果未能解决你的问题,请参考以下文章