场景1:当小数点大于等于3位小于5位:

select regexp_replace(concat(nvl(round(0.0001,4),0)*100,'%'),'^.','0.')as rate from dual;

例如:0.001-0.0001

场景2:当小数点小于等于2位:

select concat(nvl(round(0.01,4),0)*100,'%') from dual

例如:0.01 0.1
写个if else判断一下即可