第1部分:问题描述
今天将数据从excel导入到sql server中时遇到问题,
导入的数据是手机号码,
导入后直接是float数据类型,
将这个导入的表数据复制到目标表时,
显示出现问题:
目标表对应字段位varchar数据类型,
原值:12345678910
显示值:1.235E+10
这样就很苦恼了,
第2部分:解决思路
寻找一个能将float转换为varchar类型的方法,
且不影响数据。
select convert(nvarchar(30),convert(int,联系方式)) from employee
//数据溢出,不行!
select convert(nvarchar(30),convert(decimal(11,0),联系方式)) from employee
//数据转换成功!
SELECT CONVERT(nvarchar(100), CAST(联系方式 AS decimal(11,0))) from employee
//数据转换成功!
SELECT STR(联系方式, 11, 0)from employee
//数据转换成功!
第3部分:结论
可以绕个弯子,将float转换为decimal后再转换为varchar
解决问题
© 版权声明
THE END
暂无评论内容