1 rem -----------------------------------------------------------------------
2 rem URL: http://www.orafaq.com/scripts/plsql/hex2dec.txt
3 rem Filename: hex2dec.sql
4 rem Purpose: Functions to convert Hex to Decimal and vice versa
5 rem Author: Mark Malakanov, Feb-1999 + Anonymous
6 rem -----------------------------------------------------------------------
8 CREATE OR REPLACE FUNCTION hex2dec (hexnum in char) RETURN number IS
12 current_digit char(1);
13 current_digit_dec number;
15 digits := length(hexnum);
16 for i in 1..digits loop
17 current_digit := SUBSTR(hexnum, i, 1);
18 if current_digit in ('A','B','C','D','E','F') then
19 current_digit_dec := ascii(current_digit) - ascii('A') + 10;
21 current_digit_dec := to_number(current_digit);
23 result := (result * 16) + current_digit_dec;
30 CREATE OR REPLACE FUNCTION num2hex (N in number) RETURN varchar2 IS
35 select rawtohex(chr(N2))||H
39 N2 := trunc(N2 / 256);
48 select hex2dec('FF') from dual;
50 select num2hex(10) from dual;