Sql Server中Float格式转换字符串varchar方法

孤街醉人 提交于 2020-03-02 09:43:46

SELECT CONVERT(varchar(100), CAST(@testFloat AS decimal(38,2)))
SELECT STR(@testFloat, 38, 2)

从Excel中导入到sql2000,有一列“联系方式”变成了float类型,我想转换成nvarchar类型,用下面的语句

select convert(nvarchar(30),convert(int,联系方式)) from employee
go

//数据溢出,不行!

select convert(nvarchar(30),convert(decimal(11,0),联系方式)) from employee
go

//数据转换成功!

SELECT CONVERT(nvarchar(100), CAST(联系方式 AS decimal(11,0))) from employee

go

//数据转换成功!

SELECT STR(联系方式, 11, 0)from employee
go

//数据转换成功!

总结,float---decimal----nvarchar

关于SQL SERVER中的FLOAT转换为VARCHAR

一个FLOAT型的字段,要转换为VARCHAR,可是小数点后面的都自动被删去了。。。后查得可以通过如下转换获得: 

SELECT CAST(CAST(字段 AS DECIMAL(20,7)) AS VARCHAR(20)) FROM 要查的表 
或者 

SELECT CONVERT(VARCHAR(20),CONVERT(DECIMAL(20,7),字段)) FROM 要查的表 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!