首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

【交流贴】欢迎大家来批判,各进制之间的转换,该如何解决

2012-01-31 
【交流贴】欢迎大家来批判,各进制之间的转换争取用最简短的语句来写出来,水平有限,欢迎大家来拍砖。觉得没用

【交流贴】欢迎大家来批判,各进制之间的转换
争取用最简短的语句来写出来,水平有限,欢迎大家来拍砖。觉得没用可以一笑了之。
详情见:
http://blog.csdn.net/HEROWANG/archive/2009/07/07/4328258.aspx
http://blog.csdn.net/HEROWANG/archive/2009/07/07/4328500.aspx

原文:
/*********************************** 

  作者:trieagle(让你望见影子的墙)

  日期:2009.7.7

  注: 转载请保留此信息

************************************/

SQL code
-----二进制转换十进制-----------------select sum(data1)from (  select substring('11011', number, 1)*power(2,len('11011')-number)data1           from (select number from master.dbo.spt_values where type='p')K          where number <= len('11011')      ) L结果:27-----八进制转换十进制-----------------select sum(data1)from (  select substring('1234567', number, 1)*power(8,len('1234567')-number)data1        from (select number from master.dbo.spt_values where type='p')K       where number <= len('1234567')     ) L结果:342391-----十六进制转换十进制-----------------select sum(data1)from (   select case upper(substring('4eb7', number, 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 substring('4eb7', number, 1)                end* power(16, len('4eb7') - number) data1          from (select number from master.dbo.spt_values where type='p')K         where number <= len('4eb7')     ) L结果:20151 -----十进制转换二进制-----------------declare @i int,@s varchar(10)set @i=27set @s=''select @s=cast(@i%2 as varchar)+@s,@i=@i/2from (select number from master.dbo.spt_values where type='p'  and number<10 and power(2,number)<@i)Korder by  number desc select @s结果:11011-----十进制转换八进制-----------------declare @i int,@s varchar(10)set @i=27set @s=''select @s=cast(@i%8 as varchar)+@s,@i=@i/8from (select number from master.dbo.spt_values where type='p'  and number<10 and power(8,number)<@i)Korder by  number desc select @s结果:33-----十进制转换十六进制-----------------declare @i int,@s varchar(10)set @i=2379set @s=''select @s=case when @i%16 between 10 and 15 then char( @i%16+55) else cast(@i%16 as varchar) end +@s,@i=@i/16from (select number from master.dbo.spt_values where type='p'  and number<10 )Korder by  number desc select @s结果:94B

还有二进制向8进制,16进制,8进制、16进制象二进制,待续。

[解决办法]
学习
[解决办法]
JF
[解决办法]
支持一下。
[解决办法]
学习,接分
[解决办法]
学习
[解决办法]
我拍
[解决办法]
学习一下
[解决办法]
楼主可否再加上小数的转换?????
这些转换只适应整数,支持!!!
[解决办法]
SQL code
-----十六进制转换十进制-------------------4eb7  前面加0x,sql可以認識~~select convert(int, 0x4eb7)/*----------20151*/
[解决办法]
拍拍
------解决方案--------------------


楼主作者好像写错了.
原文: 
/*********************************** 

作者:trieagle(让你望见影子的墙) HEROWANG

日期:2009.7.7 

注: 转载请保留此信息 

************************************/
[解决办法]
學習.
[解决办法]

探讨
SQL code-----十六进制转换十进制-----------------
--4eb7 前面加0x,sql可以認識~~selectconvert(int,0x4eb7)/*
----------
20151*/


[解决办法]
支持一下啊
[解决办法]
探讨
SQL code-----十六进制转换十进制-----------------
--4eb7 前面加0x,sql可以認識~~selectconvert(int,0x4eb7)/*
----------
20151*/


[解决办法]
支持
[解决办法]
学习
[解决办法]
学习。。。。
[解决办法]
.
[解决办法]
学习一下。

[解决办法]
帮顶
[解决办法]
强悍,帮顶
[解决办法]
我觉得,十进制转十六进制,可选择先转成二进制,再由二进制转十六进制会方便些^_^
[解决办法]
偶完全看不懂哦、、、
[解决办法]
学习
[解决办法]
学习一下。
[解决办法]
学习
[解决办法]
学习一下。。
[解决办法]
高!!!学习学习
[解决办法]
纯粹学习
[解决办法]
不错。
[解决办法]

VFP实现<2到36进制之间的相互转换>
http://blog.csdn.net/apple_8180/archive/2006/04/14/663307.aspx
[解决办法]
学习 接分
[解决办法]
高手呢,,,学习学习
[解决办法]

[解决办法]
学习了!
[解决办法]
有意思!
[解决办法]
飘飘
[解决办法]
不错..但LZ最好把小数的转换也写出来~~
[解决办法]
可以在来点总结性的话 就好了哦!
谢谢
------解决方案--------------------


学习了
[解决办法]
select sum(data1)
from ( select substring('11011', number, 
1)*power(2,len('11011')-number)data1 
from (select number from master.dbo.spt_values where type='p')K
where number <= len('11011')
) L
结果:
27
有点不明白呗!
将11011'转换成10进制,那么这段代码(select number from master.dbo.spt_values where type='p')起什么作用,请给讲讲!
[解决办法]
最后能把你以上的例子都加上注解,说实话我真看不明白!
[解决办法]
不错,呵呵
[解决办法]
学习。。
[解决办法]

收收
收收收收
[解决办法]
这想法真不错
[解决办法]
SQL语句实现这个还真没做过,学习了
[解决办法]
up
[解决办法]
研究

热点排行