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