说明:本文主要参考于: http://www.eygle.com/archives/2004/06/oracle_howto_convert.html
一,先创建两个基本的进制转换函数:
,,,1。其他进制(2,8,16)转换为十进制
,,,2。十进制转换为其它进制(2,8,16)
二,通过上面两个函数,可以将10进制作为转换的中间桥梁。在进行任意进制转换时,都可以先将要转换的进制转为10进,,,,制,然后再通过10进制转换为别的进制只通过下面函数来实现:
<前> ,,,Create 或是Replace Function Bodh_Convert (p_Str ,拷贝Varchar2,,,要转换的数字(2、8、10、16进制) ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,p_From 号码,,,,,,,,转换前的进制 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,p_To ,,号码),,,,,,,转换后的进制 ,,,,Return Varchar2 ,,,,,v_Temp Number Default 0; ,,,,,v_Num , Varchar2 (128), Default 零; ,才能开始 ,,,,,If p_From =2,然后 ,,,,,,,If p_To =8,然后 ,,,,,,,,,v_Temp :=, To_Dec (p_From p_Str也); ,,,,,,,,,v_Num ,:=, To_Base (p_To v_Temp也); ,,,,,,,Elsif p_To =10,然后 ,,,,,,,,,v_Num :=, To_Dec (p_From p_Str也); ,,,,,,,Elsif p_To =16,然后 ,,,,,,,,,v_Temp :=, To_Dec (p_From p_Str也); null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null