SqlServer数据库sql语句去除所有空格
此处的所有空格包括:特殊的空格,看起来跟普通的空格⼀模⼀样,但就是⽆法替换掉。
前后的空格,使⽤LTrim和RTrim即可,例如:LTrim(RTrim(Name))
中间的空格,使⽤replace函数替换,例如:Replace(Name,' ','')
问题背景:客户在使⽤系统,在编辑保存时,输⼊了⼀个特殊的空格,导致台账回显时,不能正常回显。
解决⽅案:保存时特殊处理,去掉所有空格,这个没问题,但是那些已经保存的就要⽤sql语句来去掉,才能正常显⽰。因为输⼊的是特殊符号,所以⽤LTrim和RTrim时解决不了的;在⽹上了个⽅法,还是可以的,
sql语句替换表中内容通过ascii函数,出空格的ascii值,然后⽤replace函数+char函数来替换。
①通过查询的⽅式,将特殊空格之外的值替换成空字符串,这样就剩下特殊空格,通过ascii函数查到特殊空格的ascii值例:select ascii(replace(name,'XXX','') from 表名 where id=xxx
②将该值替换成空字符串,例如通过ascii函数,到空格的ascii值为9,则使⽤replace(Name,char(9),'')来替换。例:update 表名 set name=replace(name,char(9),'')
⾄此,⼤功告成!!,就赶紧记下来了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。