需要一点帮助。需要在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