Oracle中计算除法——解决除数为零报错
在Oracle数据库中,需要使用到除法,但是除数有可能为零,如果直接使用sql中的除法运算符(/),则会报错。通过分析发现,是除数为0时会出现问题,那么我们可以先排除除数为零时直接指定结果为0,然后在进行除法计算(另外由于除法会导致结果的小数位数会很长,需要配合Round函数截取对应保留的小数位数)3.2、计算除法使用到的函数内容Oracle中Case When的用法https://coffeem
·
一、问题描述
在Oracle数据库中,需要使用到除法,但是除数有可能为零,如果直接使用sql中的除法运算符(/),则会报错。
二、问题分析
通过分析发现,是除数为0时会出现问题,那么我们可以先排除除数为零时直接指定结果为0,然后在进行除法计算(另外由于除法会导致结果的小数位数会很长,需要配合Round函数截取对应保留的小数位数)。
三、解决办法
3.1、计算除法的语法和示例
--Oracle中计算除法语法
SELECT case WHEN(NVL(除数, 0))!=0 THEN round(被除数 / 除数,需要保留的小数位数) ELSE 0 END result FROM DUAL
3.2、计算除法使用到的函数内容
Oracle中Case When的用法https://coffeemilk.blog.csdn.net/article/details/121215294
Oracle中实现过滤非空内容但保留空内容数据(或不等于条件包含空值)https://coffeemilk.blog.csdn.net/article/details/124834869
更多推荐
已为社区贡献14条内容
所有评论(0)