日期:2014-05-18  浏览次数:20493 次

如何在SQL 中去特殊空格字符
我有一个一个数据,存在一个特殊空格,也许是ASC 码中的13 吧 
我的数据是
有N条数据,中间存在相同名称的 但左右存在空格的,也有相同名称中间存在空格的。
查询的时候
把左右的空格可以去掉(默认为相同数据) ,中间空格不能去掉(因为是不同数据) 并合并数据,
现在出了条很郁闷的数据,复制出来时候是存在最后一位是空格,但是用rtrim 却去不掉那条数据的最后一个空格 ,又不能用REPLECE 去替换所有的空格,因为名称相同 ,中间存在空格的是不能替换的,怎么处理这种特殊空格?存在左右的空格 用SQL


如数据 “手机” 和数据“ 手机 ” 理论查询出来时一样的 用GROUP BY 出现则只有1条数据
但是“手 机” 则和“手机” 是不同的 
 现在有一条数据“手机 ” 其最后一个空格用SQL 中的ltrim(rtrim(resourceName)) 去不了 
即 那个空格ASC 可能不是32 是个特殊的ASC 码 貌似13 也是空格吧
所以不知道该怎么去 用REPLCE 是替换全部空格吧。。。但是又不行,因为 不能连中间空格也替换了  
怎么前后的特殊空格问题?望指教

------解决方案--------------------
用char函数可以转换出那些不可见的ansi字符,
nchar可以转换unicode的字符
------解决方案--------------------
探讨
不行。。REPLACE 会替换掉所有的空格
可能“手机” 和“手 机” 这2个是不同的数据
空格一替换就变成相同的了
我现在的是。。。。只替换前后的 中间的不能动
就是中间空格不替换