日期:2014-05-16  浏览次数:20435 次

字段前的空格去不掉
表gshangju有字段dwmc,表中的记录在这个字段前一个空格(至少看上去是空格)我运行以下去除空格的命令 
update gshangju 
set dwmc = ltrim(rtrim(dwmc))  

结果只有几条记录的的dwmc字段前的字格去掉了,但大部分记录的dwmc字段前的空格没有去除,我就怀疑,那些没有去除的空格虽然看上去是空格,但肯定是不是空格的,不然不可能去不了,(我进行实验过,那些能去除的记录的空格是我自己加上的),所以真正的空格去掉了,利下了一些看上去是空格的东西仍在dwmc字段里,如何识这些类似空格的东西呢,怎么去掉呢

谢谢
------解决方案--------------------
可能是特殊符号,比如回车键等等。

select ASCII(SUBSTRING(字段,1,1))

看看返回的是什么值,然后查查ascii表,就知道这个是什么字符了
------解决方案--------------------
先select出来,然后复制粘贴,用replace(字段,'复制的内容','')
------解决方案--------------------
引用:
select * ,ASCII(SUBSTRING(dwmc,1,1)) from gshangju
查询了一下:查询出来的类似空格的字符值是:200,201,205,63,
ASCII值也没有200,201,205的啊,能有办法让这些字符在数据库里可见吗,再如何去掉他们呢


这个可能是unicode,你的这个字段的类型是nvarchar吗

------解决方案--------------------
--試試以下:
update 表 set dwmc=replace(dwmc,char(200),'')
update 表 set dwmc=replace(dwmc,char(201),'')
update 表 set dwmc=replace(dwmc,char(205),'')
update 表 set dwmc=replace(dwmc,char(63),'')