Sql Server数据库中空格的去除

时间:2024-02-24 20:56:43
普通的空格

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

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

 

如果是普通的空格,很容易替换,但有时候会遇到一些特殊的空格,就比较麻烦,看起来跟普通的空格一模一样,但就是无法替换掉。这就需要特殊的方法去找出空格,然后用replace替换。

找出这样的空格,需要用到ascii函数,通过ascii函数,找出空格的ascii值,然后用replace函数+char函数来替换。

例如通过ascii函数,找到空格的ascii值为9,则使用replace(Name,char(9),\'\')来替换。

按照上面的方式,无非就是怎么找出空格的ascii值。

假设Name有个值是“张三 ”,后面有个特殊的空格。

select ascii(replace(name,\'张三\',\'\') from 表名 where id=**

把Name的值取出,然后替换掉文本部分,剩下的就是特殊的那个空格,就能通过ascii函数来获取这个空格ascii值。