如何在派生列转换中替换双引号?

Dav*_*vid 12 ssis

我有平面文件.我使用ssis将数据从平面文件加载到源表.其中一列具有以下值:

<Somecol1 =""1"" col1values= ""223,567,890,653"">
Run Code Online (Sandbox Code Playgroud)

我想要跟随列输出:

<Somecol1 ="1" col1values= "223,567,890,653">
Run Code Online (Sandbox Code Playgroud)

我试图在派生列中替换.

REPLACE( COLA, "\"","\")
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

小智 26

我认为除了替换字符串中的附加斜杠外,你几乎得到了正确的表达式.以下是可能适合您的表达式.

表达式#1:删除给定字符串中的所有双引号.

REPLACE(COLA, "\"", "")
Run Code Online (Sandbox Code Playgroud)

表达式#2:引号双引号替换所有引号的双引号.

REPLACE(COLA, "\"\"", "\"")
Run Code Online (Sandbox Code Playgroud)

这是一个演示表达式#1的示例:

  1. 屏幕截图#1显示了包将读取的CSV文件.
  2. 屏幕截图#2显示Derived Column transformation内部Data Flow task将替换名为Header的第一列中的所有双引号.
  3. 屏幕截图#3显示了包执行后表中的数据.请注意,第二列中的双引号保持原样,因为没有表达式可以替换它们.

这是一个演示表达式#2的示例:

  1. 此示例将使用与示例1中相同的文件.请参阅屏幕截图#1.
  2. 屏幕截图4显示了Derived Column transformationData Flow task将替换所有带双引号的出现单一命名为第一列中的双引号的发生.
  3. 屏幕截图#5显示了包执行后表中的数据.请注意,第二列中的双引号保持原样,因为没有表达式可以替换它们.

希望有所帮助.

截图#1:

1

截图#2:

2

截图#3:

3

截图#4:

4

截图#5:

五