zoukankan      html  css  js  c++  java
  • ORACLE中用一条SQL实现其它进制到十进制的转换(转)

    注:

    对其它进制可以根据例子将power的底数改成相应的进制就可以了。

    本文只是一个例子,大家可以把它封装成一个通用函数进行实用。

    大家在试的时候将里面相应的其它进制的数值换成自己的数据就可以了(有多处)。

     

    -----二进制转换十进制-----------------

    1 select sum(data1)
    2 from (select substr('1101', rownum, 1) * power(2, length('1101') - rownum) data1
    3 from dual
    4 connect by rownum <= length('1101'))


    -----八进制转换十进制-----------------

    1 select sum(data1)
    2 from (select substr('1101', rownum, 1) * power(8, length('1101') - rownum) data1
    3 from dual
    4 connect by rownum <= length('1101'))


    -----十六进制转换十进制-----------------

     1 select sum(data1)
    2 from (select (CASE upper(substr('2D', rownum, 1))
    3 WHEN 'A' THEN '10'
    4 WHEN 'B' THEN '11'
    5 WHEN 'C' THEN '12'
    6 WHEN 'D' THEN '13'
    7 WHEN 'E' THEN '14'
    8 WHEN 'F' THEN '15'
    9 ELSE substr('2D', rownum, 1)
    10 END) * power(16, length('2D') - rownum) data1
    11 from dual
    12 connect by rownum <= length('2D'))
  • 相关阅读:
    web.xml
    web.xml hello1代码分析
    annotation
    injection
    container
    build tool
    version control
    url与uri的区别
    函数式语言
    http协议解析过程
  • 原文地址:https://www.cnblogs.com/linximf/p/2257257.html
Copyright © 2011-2022 走看看