需要一點幫助。需要在oracle包內創建一個函數來計算一些列。計算基於excel表格,excel公式爲=IF(A1=1,A2*0.1,IF(A1=2,A2*0.2,IF(A1=3,A2*0.4,IF(A1=4,A2*0.6,IF(A1=5,A2*0.8,)))))
以獲得列值。所以我想在oracle的函數中進行這些計算。到目前爲止,我有如下因素:創建oracle函數根據excel計算字段公式
FUNCTION GET_COST( p_parametr1 IN NUMBER DEFAULT NULL, p_parametr2 IN NUMBER DEFAULT NULL, p_parametr3 IN NUMBER DEFAULT NULL ) RETURN NUMBER AS BEGIN CASE WHEN p_parametr1 = 1 THEN p_parametr2 * 0.1 WHEN p_parametr1 = 2 THEN p_parametr2 * 0.2 WHEN p_parametr1 = 3 THEN p_parametr2 * 0.4 WHEN p_parametr1 = 4 THEN p_parametr2 * 0.6 WHEN p_parametr1 = 5 THEN p_parametr2 * 0.8 ELSE RETURN NULL END CASE; END GET_COST;
所以parametr3(列3)值在第1列和第2列。但是很多事情取決於計算的總和不對我的功能,只是不會工作。也許使用然後WHEN CASE是壞主意?!
'case' _expressions_被終止,只有'end'; 'end case'只適用於'case' _statements_。 – collapsar 2015-02-05 18:05:30
Yikes!複製粘貼錯誤。感謝您的注意 – Mureinik 2015-02-05 18:17:05
感謝很多男士,作爲一種魅力! – USSR 2015-02-06 13:46:45