今天是2013-11-27,看一下oracle 单位换算。
1)10进制转为16进制:
SQL> select to_char(2365,'xxxxxxx') from dual;
TO_CHAR(
--------
93d
2)16进制转换为10进制:
SQL> select to_number('93d','xxxxxx') from dual;
TO_NUMBER('93D','XXXXXX')
-------------------------
2365
SQL>
3)2进制转换为10进制:
SQL> select bin_to_num(1,1,0,1,1) from dual;
BIN_TO_NUM(1,1,0,1,1)
---------------------
27
SQL>
v_return VARCHAR2(4000); v_bin VARCHAR2(4000); BEGIN SELECT pkg_number_trans.f_oct_to_bin(p_str) INTO v_bin FROM dual; SELECT pkg_number_trans.f_bin_to_hex(v_bin) INTO v_return FROM dual; RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_oct_to_hex; FUNCTION f_dec_to_bin(p_int IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_dec_to_bin -- 对象描述: 十进制转换二进制 -- 输入参数: p_str 十进制字符串 -- 返回结果: 二进制字符串 -- 测试用例: SELECT pkg_number_trans.f_dec_to_bin('1930') FROM dual; ----------------------------------------------------------------------------------------------------------------------