sql server中字符串无法替换空格的问题

直接上代码:

select
case
when 'workReport'=LTRIM(RTRIM(' workReport ')) then 'trim去空格成功'
when 'workReport'=REPLACE(' workReport ',' ','') then 'replace去空格成功'
when 'workReport'=REPLACE(' workReport ',char(ASCII(REPLACE(' workReport ','workReport',''))),'') then '用ascii编码替换方式去空格成功'
else '去空格失败'
end

 

运行结果是:

用ascii编码替换方式去空格成功

 

解释:之所以case块中前两个条件没有被拦截,是因为这里的空格并不是常规的空格,可以使用ascii函数来获取该处空格的ascii码,然后再使用char函数根据ascii码获取此处的特殊空格,最后用replace函数替换之。

  

    

posted @ 2015-07-13 00:31  叫我家宝  阅读(2422)  评论(0编辑  收藏  举报