excel数据导入SQL Server中“空格”问题

Excel版本是2013,,SQL Server版本为2008 R2,应该和Excel和SQL Server版本没啥关系!

把excel导入sql server(使用之前的文中写的导入方法)后发现有不少空格难以消除,比如一个正常的8位号码,用len(电话号码)竟然是9,然后复制出来放到单引号中'12345678 ',最后一位是空格;然后使用replace(电话号码,' ','')或者rtrim(电话号码)都无法去除。

先说说这个rtrim(电话号码)吧,ltrim和rtrim很熟(感觉),虽然不是经常用,但需要的时候总是顺手拿来(必须的吧)!为毛rtrim(电话号码)不管用,很郁闷。就搜啊(也只能搜了),我发现语法中,里面的数据类型需为varchar,可我的电话号码的数据类型是nvarchar,应该没问题啊,我想显式转换看看吧,一显式转换吓了一跳,有的电话号码前面和后面都是'?'。然后使用replace(电话号码,'?','')替换掉就ok了。

关于rtrim的用法,参照:http://msdn.microsoft.com/zh-cn/library/ms178660.aspx

这里截个图

image

仔细看语法还是有帮助滴,至少这个显式转换,不看我是不会想到的;当然平时正常使用不出意外的话,我都是按照习惯去写sql,其实我都不知道character_expression需要是varchar类型,我只知道是字符串类型~~

这个解决了一部分“空格”的问题,下面就是另一部分“空格”了。

当然也搜了,各种各样的,有点感触的就是换行char(10),有可能是excel中当事人做的时候加了换行,抱着试试态度一试果然有效。

我还特定到excel里严重了那几个号码。

update table set 电话号码=REPLACE(电话号码,CHAR(10),'') where len(电话号码)=9附上另两个格式对应的balabala

制表符 CHAR(9)
回车 CHAR(13)

“空格”的问题,终于有了解决方法啦~~~

转载于:https://www.cnblogs.com/cnmarkao/p/4221528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值