sql怎样四舍五入保留小数点后1位

我用round函数为什么小数点后都变成0了?

select cast('8.5738' as numeric(10,1)),基本上数字只要是四舍五入都可以转成numerice,后面2个参数,1代表数字长度,2代表小数点后的位数,你将你sql中的round去掉应该就行追问

我之前nvarchar转numeric的时候搞错了,没保留后面的小数点精度。
所以导致现在保留1位2位都变成0 了

追答

有没有备份呢,最好找备份还原一下,还有,无法转换是因为在值中可能存在无法处理的字符,如回车,换行,全角空格等
另外可以用
begin try
end try
begin catch
end catch
来将错误的数据插入到表中,再看看表中的数据是否有问题

温馨提示:答案为网友推荐,仅供参考