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
convert
cast
str
关于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 要查的表
更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/SQLServer/