数据库

 首页 > 数据库 > SqlServer > 巧用一条SQL语句实现其它进制到十进制转换

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

分享到:
【字体:
导读:
         摘要: 巧用一条SQL语句实现其它进制到十进制转换,具体实现方法如下: -----二进制转换十进制----------------- 以下为引用的内容: select sum(data1) from (select substr('1101', rownum, 1) * power (2, length('...

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

巧用一条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'))

注释:

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

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

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



巧用一条SQL语句实现其它进制到十进制转换
分享到:
小型贸易利用选SQL Server还是Access
小型贸易利用选SQL Server还是Access 当衡量数据库利用程序的各个选项时,本文能帮助你进行各项特征的比拟。本文具体先容了SQL Server 2005 Express 版和Microsoft Access的特点设置,作者尽量避免各类特点的过多细节,因此你能在一个较高的程度上比拟这两款产品。 本钱 在寻找小型贸易程序的开发工具时,本钱通常是要害因...
用SQL Server Having盘算列和均匀值
用SQL Server Having盘算列和均匀值 做为一名数据库语言和用法教师,我发明一些特别难以说明的主题。其中的一个主题为SQL Server的Having子句。在本文中,我将简略阐明这个子句,并供给一些代码实例,我想这是阐明Having子句用法的最佳方法。 严格来说,Having并不需要一个子表,但没有子表的Having并没有实际意义。假如你...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……