分享:实现其他进制数与二进制数的转化

nianran520 2010-01-07 11:10:21
加精
/*====================================================*/
-- Author: Ken Wong
-- Create date: 2010-01-07 23:01:08
-- Description: 将其他进制数转化为二进制数
-- select dbo.convertobinary('18',10)

/*====================================================*/
--@number 要转化的数值 @type原进制类型
create function dbo.convertobinary (@number varchar(30),@type int)
returns varchar(30)
as
begin
declare @return varchar(30),@i int
select @return='',@i=1
if @type=2
begin
select @return=@number
end
else if @type=8
begin
while @i<=len(@number)
begin
select @return=@return+case substring(@number,@i,1) when '0' then '000'
when '1' then '001' when '2' then '010' when '3' then '011'
when '4' then '100' when '5' then '101' when '6' then '110'
when '7' then '111' end
select @i=@i+1
end
end
else if @type=10
begin
while cast(@number as int)>=1
begin
select @return=ltrim(cast(@number as int)%2)+@return
select @number=ltrim((cast(@number as int)-cast(@number as int)%2)/2)
end
end
else if @type=16
begin
while @i<=len(@number)
begin
select @return=@return+case substring(@number,@i,1) when '0' then '0000'
when '1' then '0001' when '2' then '0010' when '3' then '0011'
when '4' then '0100' when '5' then '0101' when '6' then '0110'
when '7' then '0111' when '8' then '1000' when '9' then '1001'
when 'A' then '' when 'B' then '1011' when 'C' then '1100'
when 'D' then '1101' when 'E' then '1110' when 'F' then '1111' end
select @i=@i+1
end
end
return @return
end


...全文
936 75 打赏 收藏 转发到动态 举报
写回复
用AI写文章
75 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiyfeng1986 2010-09-08
  • 打赏
  • 举报
回复
看不懂也要看,看多了就懂了。
xiedi1209 2010-01-14
  • 打赏
  • 举报
回复
需要这类总结
flh2lxhdll 2010-01-14
  • 打赏
  • 举报
回复
好东西
dlgtct 2010-01-13
  • 打赏
  • 举报
回复
学习了!
crystal_dark 2010-01-13
  • 打赏
  • 举报
回复
up
ss1971 2010-01-13
  • 打赏
  • 举报
回复
高手,佩服!!!!!!!!!!!
shaonew 2010-01-13
  • 打赏
  • 举报
回复
学习了
sunbj1989 2010-01-13
  • 打赏
  • 举报
回复
学习...
「已注销」 2010-01-13
  • 打赏
  • 举报
回复
谢谢分享!!!
puke_studio 2010-01-13
  • 打赏
  • 举报
回复
我学到了,谢谢
jin2120 2010-01-12
  • 打赏
  • 举报
回复
太好了``谢谢了
guozq980 2010-01-12
  • 打赏
  • 举报
回复
不错,谢谢了
wu263623171 2010-01-12
  • 打赏
  • 举报
回复
11111
dlpzgr 2010-01-11
  • 打赏
  • 举报
回复
不懂
shadowmu77 2010-01-11
  • 打赏
  • 举报
回复
UP
shanchen22 2010-01-11
  • 打赏
  • 举报
回复
不懂
picool0228 2010-01-11
  • 打赏
  • 举报
回复
不错 很实用 谢谢楼主
yangyangwb 2010-01-11
  • 打赏
  • 举报
回复
up
xcy53719 2010-01-11
  • 打赏
  • 举报
回复
学习学习!!
yhm9084nerv 2010-01-11
  • 打赏
  • 举报
回复
太难了,后排支持。。。。
加载更多回复(55)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧