Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 替换不带“的字符”;“适合”;某种编码_Sql_Sql Server_Ssis - Fatal编程技术网

Sql 替换不带“的字符”;“适合”;某种编码

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

我在SQL Server 2008数据库(10.0.2841)中有一列,需要将其插入另一个数据库(10.0.5500)。在插入目标数据库之前,必须确保该列仅包含windows-1252字符

我目前正在使用SSIS包来完成此操作。我的源代码查询有一堆“replace”可以使用,但它非常丑陋,肯定很快就无法维护

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