今天是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>
4)10进制转为2进制:(转自http://wallimn.iteye.com/blog/561863)
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;
----------------------------------------------------------------------------------------------------------------------