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'))
  • 相关阅读:
    LUA表的引用理解
    UNITY 打包安卓APK
    UNITY打包问题
    U3D 打包时找不到tag的问题
    break prefab instance的原理
    C#调用LUA函数
    LUA 利用#遍历表的问题
    U3D笔记11:47 2016/11/30-15:15 2016/12/19
    Unity3D 预设打包的注意事项
    回调 和 覆盖
  • 原文地址:https://www.cnblogs.com/linximf/p/2257257.html
Copyright © 2011-2022 走看看