十進位制和十六進位制之間的轉換函式總結
阿新 • • 發佈:2019-01-04
二)下面是構造的函式,非oracle自帶函式
--十進位制轉十六進位制
create or replace function DecToHex(iDecimal IN VARCHAR2)
return varchar2 is
nDecimal INTEGER;
Quotient INTEGER;
Residue INTEGER;
Result varchar2(50);
BEGIN
nDecimal := to_number(iDecimal);
LOOP
Quotient := FLOOR(nDecimal/16);
Residue := nDecimal MOD 16;
SELECT Decode(Residue,10,'A',11,'B',12,'C',13,'D',14,'E',15,'F',TO_CHAR(Residue)) || Result
INTO Result FROM DUAL;
EXIT WHEN Quotient = 0;
nDecimal := Quotient;
END LOOP;
return(Result);
end DecToHex;
/