【问题标题】:SSIS derived column - replace operation on DT_TEXT Visual studio 2008SSIS 派生列 - DT_TEXT Visual Studio 2008 上的替换操作
【发布时间】:2018-04-20 09:30:23
【问题描述】:

我确定这里有一个明显的错误,但我尝试了许多变体,但都找不到正确的组合!

我要做的就是用撇号替换 DT_TEXT 字符串中的双引号。我已将搜索/替换转换为 DT_TEXT。这是我最近的尝试......

replace( [Summary_N],(DT_TEXT,1252)"\"",(DT_TEXT,1252)"'")

但是,SSIS 会引发错误

函数“REPLACE”不支持数据类型“DT_TEXT” 参数号 1. 参数类型不能隐式转换 转换为函数的兼容类型。要执行此操作, 操作数需要使用强制转换运算符显式强制转换。

我通过 SQL 找到了一个使用这种 CASTS 分类的解决方案,但我很想看看如何将其作为派生列来实现!

CAST(REPLACE(CAST(d.summary AS NVARCHAR(MAX)), '"','''') AS NTEXT) as [Summary]

【问题讨论】:

标签: visual-studio ssis


【解决方案1】:

REPLACE 将不支持 DT_Text 数据类型,请将 DT_Text 替换为 DT_STR。将您的命令更改为: 替换([Summary_N],(DT_STR,1,1252)"\"",(DT_STR,1,1252)"'")

这应该可以。希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    相关资源
    最近更新 更多