在SSIS中,我有一个包处理从一个表转储到另一个表的数据。但是,在程序包完成执行后,我注意到我的列有
代替回车。
以下是处理此列的查询的一部分。
(select cast((text) as varchar(max)) from [table]
where columna = x.columna for xml path (''), type)
当我在SSMS上测试此查询时,使用type
关键字修复了此问题。
在此之前我还遇到了另一个错误,我收到了消息
列“MyColumn”无法在unicode和非unicode字符串数据类型之间进行转换。
所以我不得不修改受影响的列以输出到Unicode Text Stream (DT_NTEXT)
以避免任何错误(使用Unicode String会导致截断)。
答案 0 :(得分:0)
答案 1 :(得分:0)
在此语句末尾添加.value('.',nvarchar(max)')
会删除结果中显示的所有
。
最终查询应如下所示:
(select cast((text) as varchar(max)) from [table1]
where columna = [table2].columna for xml path (''), type).value('.',nvarchar(max)')
这是为了解决我在SSIS处理特殊字符和unicode时遇到的另一个问题。
可以找到包含解决方案的网站here。