oracle数据库十六进制转十进制函数


create or replace
FUNCTION "HXTOTEN" (str_a IN VARCHAR2) RETURN NUMBER
IS
str_b NUMBER(10);
str_c VARCHAR2(100);

BEGIN
str_c:=REPLACE(str_a,'0x','');
str_b:=0;
WHILE LENGTH(str_c) IS NOT NULL LOOP
str_b:=str_b*16+CASE SUBSTR(str_c,0,1)
when 'A' then 10

when 'B' then 11

when 'C' then 12

when 'D' then 13

when 'E' then 14

when 'F' then 15

ELSE CAST(SUBSTR(str_c,0,1) AS INT)
END;
str_c:=SUBSTR(str_c,-(LENGTH(str_c)-1),LENGTH(str_c)-1);
END LOOP;
RETURN str_b;
END HXTOTEN;
    原文作者:进制转换
    原文地址: https://blog.csdn.net/qflamj/article/details/83673892
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞