Excel数据导入至Sqlserver数据库中ltrim()、rtrim()、replace()函数依次空格无效问题

database

今天导一些数据从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里面进行替换,替换成""。

以上是 Excel数据导入至Sqlserver数据库中ltrim()、rtrim()、replace()函数依次空格无效问题 的全部内容, 来源链接: utcz.com/z/533727.html

回到顶部