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