SQL 整数不变 四舍五入保留2位小数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 整数不变 四舍五入保留2位小数相关的知识,希望对你有一定的参考价值。
cast(round(100,2) as decimal(10,2))
这样整数也会保留2位小数 结果为100.00
我想要如果是整数就不改变,如果是小数才四舍五入保留2位
当然最好连1-2位小数都不改变,要超过2位小数才四舍五入保留2位最好
如果不行,整数不变,不是整数保留2位小数也行
select round(100.146,2) from dual--100.15
select round(100.14,2) from dual--100.14
select round(100.1,2) from dual--100.1
select round(100,2) from dual--100追问
直接round是不行的,不然我也不会提问了
round只是四舍五入,并不负责截断,我就是开始光round,才发现怎么出现科学计数
另外,我是插入,不是查询
那你把你的出现科学计数的数据贴出来看看,插入和查询跟这个有什么关系,我这只是测试用,到时候替换不就行了,插入不还是insert into table select 字段转换 from table 么,都要用到select 的
追问update findj set ddyl=round(dingd*jyongl,2) where scid='SF0034'
ddyl是nvarchar类型的
我是指round(dingd*jyongl,2),这个里面你说出现了科学计数法,那么具体是什么数据会出现这个呢?
jsjava做四舍五入
保留整数
//保留整数至百位数 Math.round(num/100)*100 //保留整数至千位数 Math.round(num/1000)*1000
保留小数
//保留小数至百分位 Math.round(num*100)/100 //保留小时至千分位 Math.round(num*1000)/1000 //传入整数自动填充小数点和补0 function toDecimal2(x) var f = parseFloat(x); if (isNaN(f)) return false; var f = Math.round(x*100)/100; //百分位 var s = f.toString(); var rs = s.indexOf(‘.‘); if (rs < 0) rs = s.length; s += ‘.‘; while (s.length <= rs + 2) s += ‘0‘; return s;
以上是关于SQL 整数不变 四舍五入保留2位小数的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft SQL 四舍五入为整数,需要保留 1 位小数 [重复]
oracle语句中,某个段值想四舍五入,并且保留小数点的后2位,是否有函数可以直接写出来;
oracle语句中,某个段值想四舍五入,并且保留小数点的后2位,是否有函数可以直接写出来;