目录
四舍五入操作
测试四舍五入
截取小数(所有的小数都不进位)
求模(求余数)
求模操作
Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
数值函数可以对数字进行处理,常用的主要函数有 3 个: round()、trunc()、mod()
语法:
round( 列 | 数字 [,保留小数位 ])
如果不设置保留小数位,表示四舍五入保留到整数;如果设置,则四舍五入保留到相应小数位
SQL> select
2 round(78915.67823823),
3 round(78915.67823823,2),
4 round(78915.67823823,-2),
5 round(78985.67823823,-2),
6 round(-15.65)
7 from dual;
ROUND(78915.67823823) ROUND(78915.67823823,2) ROUND(78915.67823823,-2) ROUND(78985.67823823,-2) ROUND(-15.65)
--------------------- ----------------------- ------------------------ ------------------------ -------------
78916 78915.68 78900 79000 -16
为了方便解释运行结果,下面我们把结果写在每一行的后面,并给出解释
select
round(78915.67823823), /*78916,只保留整数,小数点之后的内容四舍五入 */
round(78915.67823823,2), /*78915.68,四舍五入保留两位小数 */
round(78915.67823823,-2), /*78900,保留小数点前两位,小于 5 的舍去 */
round(78985.67823823,-2), /*79000,保留小数点前两位,大于等于 5 的进位 */
round(-15.65) /* -16 */
from dual;
语法:
trunc( 列 | 数字 [,小数位 ])
SQL> select
2 trunc(78915.67823823),
3 trunc(78915.67823823,2),
4 trunc(78915.67823823,-2),
5 trunc(78985.67823823,-2),
6 trunc(-15.65)
7 from dual;
TRUNC(78915.67823823) TRUNC(78915.67823823,2) TRUNC(78915.67823823,-2) TRUNC(78985.67823823,-2) TRUNC(-15.65)
--------------------- ----------------------- ------------------------ ------------------------ -------------
78915 78915.67 78900 78900 -15
同样为了方便解释运行结果,下面我们把结果写在每一行的后面,并给出解释
select
trunc(78915.67823823), /*78915, 直接截取,没有进位 */
trunc(78915.67823823,2), /*78915.67,直接截取,没有进位 */
trunc(78915.67823823,-2), /*78900,直接截取,没有进位 */
trunc(78985.67823823,-2), /*78900,直接截取,没有进位 */
trunc(-15.65) /* — 15,直接截取,没有进位 */
from dual;
语法:
mod( 列 1| 数字 1,列 2| 数字 2)
SQL> select mod(10,3)
2 from dual;
MOD(10,3)
----------
1
商 3 余 1,所以模就是 1