2015年10月28日 星期三

DB2 numeric 百分比 除法

兩個numeric欄位 A與B 都是兩位數
計算(B/A)*100的比率,如果是0就顯示0,或65.43的小數點表示

當A為0時,會無法計算,所以就直接顯示0

重點是CAST轉型為DECIMAL時要記得小數位數是包含在長度內的
如果要顯示123.45這樣三位數字與兩位小數點,長度就是3+2=5


CASE WHEN A is null or A=0 then varchar(0)

else varchar(round(CAST((CAST(COALESCE(B,0) AS FLOAT)/

     CAST(COALESCE(A,0) AS FLOAT))*100 AS decimal(5,2)),2))

END AS RATE

沒有留言:

張貼留言