Oracle数据库 对两列字段数据计算百分比
例:字段A(值=20),字段B(值=100),计算百分比结果为20%
1、SQL 语句如下,其中“2”代表百分比后保留两位,也可以写“4”等。
SELECT 字段A,字段B,round((字段A/字段B)*100,2)||'%' AS PERCENT FROM TABLE_NAME
2、字段A/字段B:即分子/分母,因分母不能为0,所以如果字段A下有某个值为0,执行上述SQL语句,则会提示“除数不能为0”,此情况下可用Oracle特有的“decode”函数,对分母进行处理。
介绍decode函数 decode(X,A,B,C,D,E) 这个函数运行的结果是,当X = A,函数返回B;当X != A 且 X = C,函数返回D;当X != A 且 X != C,函数返回E。 其中,X、A、B、C、D、E都可以是表达式
SQL语句如下:
SELECT 字段A,字段B, decode(字段2,0,0,round((字段A/字段B)*100,2))||'%' AS PERCENT FROM TABLE_NAME