Excel 數據導入至Sqlserver 數據庫中 ltrim() 、rtrim() 、replace() 函數 依次空格無效問題

今天導一些數據從Excel中至Sqlserver 數據庫中,在作數據合併去重的時候發現,有兩條數據如出一轍,居然沒有進行合併;數據庫

最後發現有一條後面有個「空格」,正是由於這個「空格」讓我抓狂許久,由於它是個假「空格」!spa

 

普通的空格移除方法:code

SELECT ltrim(' 移除掉左邊的空格 ')
SELECT rtrim(' 移除掉右邊的空格 ')
SELECT rtrim(ltrim(' 移除掉兩邊的空格 '))
SELECT replace(' 移除掉兩邊的空格 ',' ','')

 

假空格移除方法:server

分析:有些換行或者回車字符,會被認爲是空格,因此,要把換行與回車處理掉;blog

      對比下ASCII碼錶,把對應的字符替換掉;class

SELECT REPLACE(列名,char(9),'') ----將水平製表符替換爲‘’
SELECT REPLACE(列名,char(10),'')----將換行符替換爲‘’
SELECT REPLACE(列名,char(13),'')----將回車符替換爲‘’

 

若是上面的兩種方法還不能解決你的問題,那麼看第三種,我就是這種解決的,只能曲線救國了;方法

方法:這些看似空格,其實有可能不是,能夠複製一下,在Excel裏面進行替換,替換成''。im

相關文章
相關標籤/搜索