今天導一些數據從Excel中至Sqlserver 資料庫中,在做數據合併去重的時候發現,有兩條數據一模一樣,竟然沒有進行合併; 最後發現有一條後面有個“空格”,正是因為這個“空格”讓我抓狂許久,因為它是個假“空格”! 普通的空格移除方法: SELECT ltrim(' 移除掉左邊的空格 ') SEL ...
今天導一些數據從Excel中至Sqlserver 資料庫中,在做數據合併去重的時候發現,有兩條數據一模一樣,竟然沒有進行合併;
最後發現有一條後面有個“空格”,正是因為這個“空格”讓我抓狂許久,因為它是個假“空格”!
普通的空格移除方法:
SELECT ltrim(' 移除掉左邊的空格 ') SELECT rtrim(' 移除掉右邊的空格 ') SELECT rtrim(ltrim(' 移除掉兩邊的空格 ')) SELECT replace(' 移除掉兩邊的空格 ',' ','')
假空格移除方法:
分析:有些換行或者回車字元,會被認為是空格,所以,要把換行與回車處理掉;
對比下ASCII碼表,把對應的字元替換掉;
SELECT REPLACE(列名,char(9),'') ----將水平製表符替換為‘’ SELECT REPLACE(列名,char(10),'')----將換行符替換為‘’ SELECT REPLACE(列名,char(13),'')----將回車符替換為‘’
如果上面的兩種方法還不能解決你的問題,那麼看第三種,我就是這種解決的,只能曲線救國了;
方法:這些看似空格,其實有可能不是,可以複製一下,在Excel裡面進行替換,替換成''。