我尝试了以下方法,但结果不符合要求(我的意思是在运行替换查询后得到相同的结果)。如何更换所有特殊字符的地方? 这是查询。
select
REPLACE(description,'‚'COLLATE Latin1_General_BIN, N'‚')
from Zstandars_25Feb2015 where Colname = 56
结果:
....形式+ =和=用于其中的案例,和 都是非负的..........
答案 0 :(得分:0)
你的描述字段的类型是什么? 如果它的varchar,你不应该遇到任何问题。我在我的测试表中运行了你的查询,我没有得到这样的错误,它可能是你的整理,删除整理并再次尝试或将整理更改为其他东西。
答案 1 :(得分:0)
-- Removes special characters from a string value.
-- All characters except 0-9, a-z and A-Z are removed and
-- the remaining characters are returned.
-- Author: Christian d'Heureuse, www.source-code.biz
create function dbo.RemoveSpecialChars (@s varchar(256)) returns varchar(256)
with schemabinding
begin
if @s is null
return null
declare @s2 varchar(256)
set @s2 = ''
declare @l int
set @l = len(@s)
declare @p int
set @p = 1
while @p <= @l begin
declare @c int
set @c = ascii(substring(@s, @p, 1))
if @c between 48 and 57 or @c between 65 and 90 or @c between 97 and 122
set @s2 = @s2 + char(@c)
set @p = @p + 1
end
if len(@s2) = 0
return null
return @s2
end
答案 2 :(得分:0)
通过保留N,我可以获取数据..
选择 REPLACE(描述,N&#39;,&#39;收集Latin1_General_BIN,N&#39;,&#39;) 来自Zstandars_25Feb2015,其中Colname = 56
感谢大家的帮助。