Sql 替换不带“的字符”;“适合”;某种编码
我在SQL Server 2008数据库(10.0.2841)中有一列,需要将其插入另一个数据库(10.0.5500)。在插入目标数据库之前,必须确保该列仅包含windows-1252字符 我目前正在使用SSIS包来完成此操作。我的源代码查询有一堆“replace”可以使用,但它非常丑陋,肯定很快就无法维护Sql 替换不带“的字符”;“适合”;某种编码,sql,sql-server,ssis,Sql,Sql Server,Ssis,我在SQL Server 2008数据库(10.0.2841)中有一列,需要将其插入另一个数据库(10.0.5500)。在插入目标数据库之前,必须确保该列仅包含windows-1252字符 我目前正在使用SSIS包来完成此操作。我的源代码查询有一堆“replace”可以使用,但它非常丑陋,肯定很快就无法维护 select replace(replace(rep.......etc(column, 'º', ''), nchar(0x9D), ''), ......etc from table
select replace(replace(rep.......etc(column, 'º', ''), nchar(0x9D), ''), ......etc from table
肯定有更好的办法,但我不知道是什么。那么,我如何在我的查询(或者在脚本组件中?)中说,“如果这里有一个字符在这种编码中不起作用,请在它的位置上给我一个空字符串?”我假设您的sourcedb的排序规则与您的目标db不同。也许可以使用COLLATE将排序规则更改为目标数据库的排序规则。 例如:
SELECT
column COLLATE Latin1_General_CI_AS
FROM table
我可能会向数据流添加一个脚本转换,并应用.NET Framework,例如Encoding.Convert,ref