双重工作如何?我用许多值执行了这个Select Round(45.926,-1) from dual
它打印了50
Select Round(45.926,-2) from dual
打印0。
答案 0 :(得分:3)
使用ROUND
函数时,第二个参数表示结果中取小数后的位置。所以,结果如下:
SELECT ROUND(45.926) FROM dual;
结果:46因为没有考虑小数点后的位置。
SELECT ROUND(45.926, 1) FROM dual;
结果45.9,考虑小数点后的1位
SELECT ROUND(45.926, -1) FROM dual;
结果:50,考虑到值为4.5926,将其四舍五入为5,然后打印结果。
SELECT ROUND(45.926, -2) FROM dual;
结果:0,考虑到值为0.45926,将其四舍五入为0,然后将结果打印为原始10x,即0x100 = 0.
如果你被带走,
SELECT ROUND(55.926, -2) FROM dual;
然后结果将是100,因为它会是,将0.55926舍入为1然后将10x舍入为1x100 = 100。
答案 1 :(得分:0)
Round(n,m)
- 将数字n舍入到小数位数m。
对于m = -1,它将数字舍入到第十位,使得45.926到50,因为它大于45
对于m = -2,它将数字四舍五入为100。由于45.926小于50,它变为0.如果你尝试回合(51,-2),你应该得到100