Oracle 內部2,8,10,16進位制轉換函式包

lhrbest發表於2016-04-14

我們知道透過to_char和to_number函式可以實現10進位制和16進位制之間的轉換,透過函式bin_to_num進行2進位制到10進位制的轉換。這個在的站點上也有類似的介紹。

今日收集,整理一個更為通用的Decimal, Binary, Octal and Hexidecimal number之間的轉換函式包,歡迎大家下載使用

測試效果如下:


SQL> desc num_demo
FUNCTION BIN_TO_DEC RETURNS NUMBER
引數名稱 型別 輸入/輸出預設值?
------------------------------ ----------------------- ------ --------
BINVAL CHAR IN
FUNCTION DEC_TO_BIN RETURNS VARCHAR2
引數名稱 型別 輸入/輸出預設值?
------------------------------ ----------------------- ------ --------
N NUMBER IN
FUNCTION DEC_TO_HEX RETURNS VARCHAR2
引數名稱 型別 輸入/輸出預設值?
------------------------------ ----------------------- ------ --------
N NUMBER IN
FUNCTION DEC_TO_OCT RETURNS VARCHAR2
引數名稱 型別 輸入/輸出預設值?
------------------------------ ----------------------- ------ --------
N NUMBER IN
FUNCTION HEX_TO_DEC RETURNS NUMBER
引數名稱 型別 輸入/輸出預設值?
------------------------------ ----------------------- ------ --------
HEXVAL CHAR IN
FUNCTION OCT_TO_DEC RETURNS NUMBER
引數名稱 型別 輸入/輸出預設值?
------------------------------ ----------------------- ------ --------
OCTVAL CHAR IN

SQL>


SQL> select num_demo.dec_to_bin(100) from dual;

1100100

已選擇 1 行。

SQL> select num_demo.bin_to_dec('1100100') from dual;

100
已選擇 1 行。

SQL> select num_demo.dec_to_oct(16) from dual;

20

已選擇 1 行。

SQL> select num_demo.oct_to_dec(20) from dual;

16
已選擇 1 行。

SQL> select num_demo.hex_to_dec(65536) from dual;

10000

已選擇 1 行。


SQL> select num_demo.hex_to_dec('FF') from dual;

255

已選擇 1 行。

SQL> select num_demo.dec_to_hex(255) from dual;

FF

已選擇 1 行。

SQL> select num_demo.hex_to_dec('FFFF') from dual;

65535

已選擇 1 行。

SQL> select num_demo.dec_to_hex( 65535) from dual;

FFFF

已選擇 1 行。

SQL>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2081074/,如需轉載,請註明出處,否則將追究法律責任。

相關文章