首页 > 技术文章 > 【转】Sql Server去除所有空格

Ajoying 2017-11-28 16:50 原文

 

详细链接:https://shop499704308.taobao.com/?spm=a1z38n.10677092.card.11.594c1debsAGeak

1、普通空格:

前后的空格,使用LTrim和RTrim即可,例如:LTrim(RTrim(Name))
中间的空格,使用replace函数替换,例如:Replace(Name,' ','')

2、一些特殊的空格:
特殊空格看起来跟普通的空格一模一样,但就是无法替换掉。
这就需要特殊的方法去找出空格,然后用replace替换。 找出这样的空格,需要用到ascii函数,通过ascii函数,找出空格的ascii值,
然后用replace函数+char函数来替换。 例如通过ascii函数,找到空格的ascii值为9,则使用replace(Name,char(9),'')来替换。
按照上面的方式,无非就是怎么找出空格的ascii值。

方法:
如Xuhao有个值是“张三123 ”,后面有个特殊的空格。
select ascii(replace(Xuhao,'张三123','') from 表名 where id='' 把Xuhao的值取出,然后替换掉文本部分,
剩下的就是特殊的那个空格,就能通过ascii函数来获取这个空格ascii值。

推荐阅读