Sql Server如何彻底清除字符串里的普通空格以及特殊的空格

Sql Server如何彻底清除字符串里的普通空格以及特殊的空格

1. 普通空格

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

2. 一些特殊的空格:

特殊空格看起来跟普通的空格一模一样,但使用LTrim()函数、RTrim()函数和replace()却无法替换掉其空格,这就需要特殊的方法去找出特殊的空格。

2.1 主要思路

我们这时候还是用Replace()函数替换,不过我们先找出这个特殊的空格的ASCII码值。需要用到ascii()函数,通过ascii()函数,找出空格的ascii值,然后用replace()函数+char()函数来替换。 例如通过ascii函数,找到这个特殊空格的ascii值为9,则使用replace(string,char(9),'')来替换 。
按照上面的方式,主要就是怎么找出空格的ascii值。

2.2 方法

如name(字符串类型)字段中有个值是" zhangsan",前面存在一个特殊的空格 ,这时我们使用:
select ascii(replace(name,'zhangsan','') from tablename where name=' zhangsan' 把“13854016900”的值取出,然后替换掉文本部分,
剩下的就是特殊的那个空格,就能通过ascii函数来获取这个空格ascii值,得到ASCII码值为 9,因此使用replace(name,char(9),'')来替换 。

你可能感兴趣的:(数据库,算法,计算机理论和基础类,数据库,sql,字符串)