oracle进制转换
以后就可以用自己写的进制转换研究oracle的存储了
create or replace Function hextostr(v_str varchar2) Return Varchar2
is v_out Varchar2(4); begin Select decode(lower(v_str),'0','0000', '1','0001', '2','0010', '3','0011', '4','0100', '5','0101', '6','0110', '7','0111', '8','1000', '9','1001', 'a','1010', 'b','1011', 'c','1100', 'd','1101', 'e','1110', 'f','1111') Into v_out From dual; Return v_out; end hextostr; /
********************
转化为二进制
create or replace Function getstr(v_str varchar2) Return Varchar2
is v_out Varchar2(8000):=''; v_int Number:=1; begin While v_int<length(v_str) Loop v_out:=v_out||hextostr(substr(v_str,v_int,1)); v_int:=v_int+1; End Loop; Return v_out; end getstr; /
**************************
将二进制转化为10进制
Create Or Replace Function strtodec(v_str Varchar2) Return Number
Is v_int Number; v_sum Number:=0; Begin For i In 1..length(v_str) Loop v_int:=instr(v_str,'1',i,1); If v_int>0 and substr(v_str,i,1)=1 Then v_sum:=v_sum+power(2,length(v_str)-v_int); End If; End Loop; Return v_sum; End; /
oracle进制转换系统函数bin_to_num,to_number 等 本文出自 51CTO.COM技术博客 |


h11h99
博客统计信息
热门文章
最新评论
友情链接