Matthewl 发表于 2015-7-5 07:07:17

Sql Server数据库中空格的去除

普通的空格
  前后的空格,使用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值。
页: [1]
查看完整版本: Sql Server数据库中空格的去除