oracle进制转换方法

文章作者 100test 发表时间 2008:03:31 12:19:18
来源 100Test.Com百考试题网


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 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)<>0 Then
v_sum:=v_sum power(2,length(v_str)-v_int).
End If.
End Loop.
Return v_sum.
End.
/

相关文章


RedHatLinux下Oracle启动脚本的建立d tartoracle8.1.6
oracle快速删除和快速插入的方法代码
RMAN的高级应用实例学习
g数据库软件“Oracle8i”存在有安全漏洞
oracle进制转换方法
Oracle11新特性——虚拟列
Oracle数据库中的坏块的方法
应用技术:Oracle安装方法
如何用静默方式删除oracle软件
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛