繁体中文
设为首页
加入收藏
当前位置:网络编程首页 >> Mssql >> 巧用一条SQL语句实现其它进制到十进制转换

巧用一条SQL语句实现其它进制到十进制转换

2007-11-07 01:10:54  作者:  来源:  浏览次数:446  文字大小:【】【】【

巧用一条SQL语句实现其它进制到十进制转换,具体实现方法如下:

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


   select sum(data1)
  from (select su tr('1101', rownum, 1) * power
  (2, length('1101') - rownum) data1
  from dual
  co ect by rownum <= length('1101'))

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


  select sum(data1)
  from (select su tr('1101', rownum, 1) * power
  (8, length('1101') - rownum) data1
  from dual
  co ect by rownum <= length('1101'))

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


  select sum(data1)
  from (select (CASE u er(su tr('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 su tr('2D', rownum, 1)
  END) * power(16, length('2D') - rownum) data1
  from dual
  co ect by rownum <= length('2D'))

注释:

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

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

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

责任编辑:


相关文章
 

最新文章

更多

· 巧用一条SQL 实现其它进...
· 解析:在SQL Server下数...
· 轻松掌握什么是层次型 基...
· 细化解析:SQL Server 2...
· 轻松掌握向外扩展数据库...
· 解析:正确的理解四类数...
· 处理SQL Server 2000的命...
· 轻松接触SQL Server 200...
· 细化解析:处理 SQL Ser...
· 教你轻松掌握怎样 创建新...

推荐文章

更多

· 巧用一条SQL 实现其它进...
· 解析:在SQL Server下数...
· 轻松掌握什么是层次型 基...
· 细化解析:SQL Server 2...
· 轻松掌握向外扩展数据库...
· 解析:正确的理解四类数...
· 处理SQL Server 2000的命...
· 轻松接触SQL Server 200...
· 细化解析:处理 SQL Ser...
· 教你轻松掌握怎样 创建新...

热点文章

更多