sql server用null替换特殊字符

sri*_*ath 6 sql sql-server netezza

我无法替换特殊字符.你能帮帮我吗?

我的意见是:

Mrs?Montero
Run Code Online (Sandbox Code Playgroud)

输出应该是:

Mrs Montero
Run Code Online (Sandbox Code Playgroud)

特殊字符未正确显示.请看下面的图片. http://i.stack.imgur.com/b2SdY.jpg

Rah*_*thi 1

来自源代码中,您可以创建一个如下所示的函数:

\n\n
create function dbo.RemoveSpecialChars (@s varchar(256)) returns varchar(256)\n   with schemabinding\nbegin\n   if @s is null\n      return null\n   declare @s2 varchar(256)\n   set @s2 = \'\'\n   declare @l int\n   set @l = len(@s)\n   declare @p int\n   set @p = 1\n   while @p <= @l begin\n      declare @c int\n      set @c = ascii(substring(@s, @p, 1))\n      if @c between 48 and 57 or @c between 65 and 90 or @c between 97 and 122\n         set @s2 = @s2 + char(@c)\n      set @p = @p + 1\n      end\n   if len(@s2) = 0\n      return null\n   return @s2\n   end\n
Run Code Online (Sandbox Code Playgroud)\n\n

SQL FIDDLE 演示

\n\n

如果你只有那个特殊字符那么你可以使用这个:

\n\n
SELECT replace(\'Mrs\xe0\xa6\xa9Montero\', \'\xe0\xa6\xa9\', \' \') \n
Run Code Online (Sandbox Code Playgroud)\n\n

SQL FIDDLE 演示

\n