Ssis 如何在派生列转换中替换双引号?
我有平锉刀。我正在使用ssis将数据从平面文件加载到源表。其中一列具有以下值:Ssis 如何在派生列转换中替换双引号?,ssis,Ssis,我有平锉刀。我正在使用ssis将数据从平面文件加载到源表。其中一列具有以下值: <Somecol1 =""1"" col1values= ""223,567,890,653""> 但是这不起作用。如果您的其他列没有相同的问题,这可能不起作用,但是如果这是您要导入的唯一文本列,或者它们都是这样,您可以将文本标识符更改为两个双引号,而不是一个双引号。然后SSIS会将它正确地从平面文件中取出,您就不必再处理以后试图清理它的问题了。我认为除了替换字符串中的附加斜杠之外,您几乎已经获得了正确
<Somecol1 =""1"" col1values= ""223,567,890,653"">
但是这不起作用。如果您的其他列没有相同的问题,这可能不起作用,但是如果这是您要导入的唯一文本列,或者它们都是这样,您可以将文本标识符更改为两个双引号,而不是一个双引号。然后SSIS会将它正确地从平面文件中取出,您就不必再处理以后试图清理它的问题了。我认为除了替换字符串中的附加斜杠之外,您几乎已经获得了正确的表达式。以下是可能适合您的表达式 表达式#1:删除给定字符串中的所有双引号
REPLACE(COLA, "\"", "")
表达式#2:用双引号的单引号替换所有出现的双引号
REPLACE(COLA, "\"\"", "\"")
下面是一个演示表达式#1的示例:
数据流任务中的派生列转换
,该转换将替换名为标题的第一列中的所有双引号
数据流任务中的派生列转换
,该转换将用单引号替换名为标题的第一列中出现的所有双引号
请查看以下样本
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(Client_1,"\"",""),"*",""),",",""),"[",""),"]",""),"'",""),"!",""),"/",""),"<>","")
REPLACE(REPLACE(REPLACE)(REPLACE(REPLACE)(REPLACE(REPLACE(REPLACE)(客户机1、、、、、、、、、、、、、、、、、、、、、、)、、、、、、、、、、、、、、、、、、、、)
< /代码>我已经将文本标识符添加为双引号。在文本限定符之后,列看起来像是单个的。column@David-Ahhh,好的,我现在明白了。我将列数据视为两列数据。感谢您的澄清。如果平面文件源连接无法处理该文件,该怎么办在上,无法通过第一步,因此无法进行派生列转换。如果要在SSRS RDL报告中用空字符串替换双引号,请尝试此操作,它会工作的!replace(NAME,chr(34),“”)
你一定是在开玩笑!
REPLACE(COLA, "\"\"", "\"")
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(Client_1,"\"",""),"*",""),",",""),"[",""),"]",""),"'",""),"!",""),"/",""),"<>","")