Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)归海一刀published in(发表于) 2014/2/3 6:39:50 SQL实现其他进制到十进制的转换_[SQL Server教程]
本文主要讲解了在Oralce中如何通过一条SQL实现其他进制到十进制的转换实例代码,大家可以把它封装成一个通用函数来进行使用,面向其它进制时大家可以根据例子将power的底数改成相应的进制就可以了。在下面的示例当中,大家将里面相应的其它进制的数值换成自己的数据就可以使用了。
以下为引用的内容:
-----二进制转换十进制-----------------select sum(data1)from (select substr('1101', rownum, 1) * power(2, length('1101') - rownum) data1from dualconnect by rownum <= length('1101'))
-----八进制转换十进制-----------------select sum(data1)from (select substr('1101', rownum, 1) * power(8, length('1101') - rownum) data1from dualconnect 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) data1from dualconnect by rownum <= length('2D'))
赞