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

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 要查的表 

猜你喜欢

转载自my.oschina.net/u/2343604/blog/1818590
今日推荐