以下的文章主要介绍的是用Oracle SQL语句来实现进制间的相互转换,此文用的是实际相关代码去实现进制间的相关转换。对其它别的相关进制是根据实际例子,将power的底数改成相应的进制就可以了。
以下介绍Oracle SQL语句:
本文只是一个例子,大家可以把它封装成一个通用函数进行实用。大家在试的时候将里面相应的其它进制的数值换成自己的数据就可。
二进制转换十进制
- select sum(data1)
- from (select substr('1101', rownum, 1) * power(2, length('1101') - rownum) data1
- from dual
- connect by rownum <= length('1101'))
八进制转换十进制
- select sum(data1)
- from (select substr('1101', rownum, 1) *
- power(8, length('1101') - rownum) data1
- from dual
- connect by rownum <= length('1101'))
十六进制转换十进制
- select sum(data1)
- from (select (CASE upper(substr('2D', rownum, 1))
- WHEN 'A' THEN '10'
- WHEN 'B' THEN '11'
- WHEN 'C' THEN '12'
- WHEN 'D' THEN '13'
- WHEN 'E' THEN '14'
- WHEN 'F' THEN '15'
- ELSE substr('2D', rownum, 1)
- END) * power(16, length('2D') - rownum) data1
- from dual
- connect by rownum <= length('2D'))
以上的相关内容就是对Oracle SQL语句实现进制间互相转换的介绍,望你能有所收获。
【编辑推荐】