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

相关文章
相关标签/搜索