Oracle中没有16进制转2进制的函数,为了工作方便,自己写了一个create or replace function hex_to_bin(hex varchar2) return varchar2 is
v_hex varchar2(10000);
v_len number;
v_var varchar2(10000);
v_result varchar2(10000) := "";
begin
v_hex := upper(hex);
v_len := length(v_hex);
for i in 1 .. v_len loop
v_var := case substr(v_hex, i, 1) when "0" then "0000" when "1" then "0001" when "2" then "0010" when "3" then "0011"
when "4" then "0100" when "5" then "0101" when "6" then "0110" when "7" then "0111" when "8" then "1000" when "9" then "1001"
when "A" then "1010" when "B" then "1011" when "C" then "1100" when "D" then "1101" when "E" then "1110" when "F" then "1111" end;
v_result := v_result || v_var || " ";
end loop;
return v_result;
end hex_to_bin;例子:SQL> select hex_to_bin("0A11") from dual; HEX_TO_BIN("0A11")--------------------------------------------------------------------------------0000 1010 0001 000116进制转10进制 ,ORACLE里面有个to_number函数 可以实现SQL> select to_number("ABC","XXX") from dual;TO_NUMBER("ABC","XXX")---------------------- 274810进制转16进制,ORACLE里面有个to_char函数 可以实现SQL> select to_char("2748","XXX") from dual;TO_CHAR("2748","XXX")--------------------- ABC2进制转10进制,ORACLE里面有个bin_to_num函数可以实现SQL> select bin_to_num(1,1,1,1,0) from dual;BIN_TO_NUM(1,1,1,1,0)--------------------- 30Oracle对字符转义的处理openSuSE 11.1安装Oracle 11g步骤相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (0)