SQL replace去掉各种类型空格

此处的所有空格包括:特殊的空格,看起来跟普通的空格一模一样,但就是无法替换掉。

前后的空格,使用LTrim和RTrim即可,例如:LTrim(RTrim(Name))

中间的空格,使用replace函数替换,例如:Replace(Name,' ','')

问题背景:客户在使用系统,在编辑保存时,输入了一个特殊的空格,导致台账回显时,不能正常回显。

解决方案:保存时特殊处理,去掉所有空格,这个没问题,但是那些已经保存的就要用sql语句来去掉,才能正常显示。

因为输入的是特殊符号,所以用LTrim和RTrim时解决不了的;在网上找了个方法,还是可以的,

通过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),'')

至此,大功告成!!,就赶紧记下来了
————————————————
版权声明:本文为CSDN博主「@别天神」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/thinkingmyself/article/details/90667268

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值