sql 去掉 空格


 

一、问题描述:

数据库中字段 nvarchar类型 存放数据如下:

 '3.3×10'

 原本以为右侧是一个空格,但是rtrim方法无效,发现右侧并不是空格,是一个特殊字符或特殊编码  ,只是看起来像空格。

二、解决方案:

update WaterQuality set FecalColiform=replace(FecalColiform,'','') ; --- 1
update WaterQuality set FecalColiform=replace(FecalColiform,'','') ; --- 2
update WaterQuality set FecalColiform=replace(FecalColiform,'','') ; --- 3
update WaterQuality set FecalColiform=replace(FecalColiform,'','') ; --- 4

 

你可能有一个疑问 为什么重复执行相同的操作??

答:''  这个东西看起来相同,实际又各不相同。

你需要完整的复制出该列,然后全部选中看他们的后面凹凸状态 是否都为空了。

然后把那些没修改成功的空格单独复制出来再修改。

 例如 复制出放入单引号中观察  '2.0×10'  ,然后复制出它的特有的‘’,然后在执行一次修改。

修改前:

修改后:

 

三、失败经验:

1.trim方法

select ltrim(' 3.3×10') --去除左边的空格
select rtrim('3.3×10 ') --去除右边的空格
select ltrim(rtrim(' 3.3×10 ')) --去除首尾空格

结果有效。

但是真实的数据是这样的  '3.3×10'

select ltrim(rtrim('3.3×10')) --去除首尾空格  

结果无效。

 

参考过的文章:

https://zhidao.baidu.com/question/183968041.html

https://www.cnblogs.com/TurboWay/p/5924445.html

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM