CREATE OR REPLACE FUNCTION oct2dec (octval in char) RETURN number IS i number; digits number; result number := 0; current_digit char(1); current_digit_dec number; BEGIN digits := length(octval); for i in 1..digits loop current_digit := SUBSTR(octval, i, 1); current_digit_dec := to_number(current_digit); result := (result * 8) + current_digit_dec; end loop; return result; END oct2dec; / SQL> SELECT oct2dec(127662) FROM dual;
OCT2DEC(127662) --------------- 44978
Nenhum comentário :
Postar um comentário