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
来将错误的数据插入到表中,再看看表中的数据是否有问题

温馨提示:内容为网友见解,仅供参考
无其他回答

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

sql语句怎么写“四舍五入后求和”的语句
把数据类型转换为decimal,系统会自动四舍五入,字段合计求和可以用sum函数,例如以下例子假设合并字段col,只保留一位小数:select sum(cast(col as decimal(19,1)))from 表

Oracle SQL语句实现数字四舍五入取整
四舍五入(round): `SELECT round(5.534) FROM dual`有不同的精度设置,如`round(5.534, 0)`得到6, `round(5.534, 1)`得到5.5, `round(5.534, 2)`为5.53。 保留小数位数(trunc): `

sql语句问题 怎样让查询结果显示保留小数一位
四舍五入 :round(值或者字段,保留小数位数)select round(5.4321,1)显示结果5.4

...的数据处理为小数点后为一位,四舍五入,请教怎么写
select convert(decimal(10,1),round(132451.27456,1))你看看这个式子的效果,结果132451.3 正是你所想要的 update table set num = convert(decimal(10,1),round(num,1))有困难HI我

SQL如何四舍五入
update item set sale_price = price 理解为卖价最终会等于进价了。如果是要把卖价等于进价四舍五入,则 update item set sale_price = cast(round(price,1) as numeric(15,1))如果不满足您的需求,请继续追问,在线解答。

SQL中数据小数处理(向上取整、向下取整、四舍五入)
34)会得到12,而CEIL函数则返回大于或等于给出数字的最小整数,如ceil(12.34)会得到13。在Hive中,round函数同样用于四舍五入,但至少保留一位小数。FLOOR和CEILING函数的用法与Oracle相同,分别用于向下取整和向上取整。此外,Hive还提供了cast函数,它可以舍弃小数部分,进行类型转换,起到取整的效果。

在SQL中,如何保留指定的小数位数?
答案:在SQL中,你可以使用ROUND函数来保留小数点后特定数量的位数,例如保留两位小数。具体的语法是:ROUND。详细解释:1. ROUND函数的作用:在SQL中,ROUND函数用于对指定的数值进行四舍五入。你可以指定要保留的小数位数,以确定四舍五入后的结果。2. 使用ROUND函数保留两位小数:当你需要在查询结果中...

查询每位同学的总分和平均分(四舍五入到1位小数)的sql命令怎么写?
round() ; 如下, 你直接拿去执行吧 select studentno,sum(finalscore),round(avg(finalscore),1) from score group by studentno;round(参数,2 ) 1 就是保留一位小数, 2就是保留两位小数

SQL中如何以0.5为单位进行四舍五入计算
DECLARE @T TABLE(Col1 DECIMAL(18,2))INSERT INTO @T SELECT 1.78INSERT INTO @T SELECT 2.35INSERT INTO @T SELECT 2.56 SELECT CAST(Col1\/0.5 AS INT)*0.5 FROM @T\/*1.52.02.5*\/

相似回答