1.二进制转为字符串

ALTER function varbin2hexstr(
@bin varbinary(8000)
)returns varchar(8000)
as
begin
declare @re varchar(8000),@i int
select @re='',@i=datalength(@bin)
while @i>0
select @re=substring('0123456789ABCDEF',substring(@bin,@i,1)/16+1,1)
+substring('0123456789ABCDEF',substring(@bin,@i,1)%16+1,1)
+@re
,@i=@i-1
-- return('0x'+@re)
return @re
end

2.字符串转为二进制

CREATE function [dbo].[hexstr2varbin](
@char varchar(8000)
)returns varbinary(8000)
as
begin
declare @re varbinary(8000), @tempchar varchar(2),
@getchar varchar(1), @getint int, @n int, @totalint int,
@i int, @tempint int, @runNum int -- 字符串截取段数 select @tempchar='',@i=datalength(@char), @re=0x; if( @i>0)
begin
if ( @i%2 = 0) set @runNum= @i/2
else set @runNum= @i/2 + 1 while (@runNum > 0)
begin
if(@runNum = 1) set @tempchar = @char
else set @tempchar = substring(@char, (@runNum)*2-1,2) --截取字符长度 select @n=1,@totalint=0; -- 循环处理截取的每个字符串 (这里的字符串长度为2)
while @n < ( datalength(@tempchar) + 1 )
begin
set @getchar=substring(@tempchar,@n,1); -- 将字符转换为十六进制对应的数字
select @getint=case
when @getchar='a' then 10
when @getchar='b' then 11
when @getchar='c' then 12
when @getchar='d' then 13
when @getchar='e' then 14
when @getchar='f' then 15
else convert(int,@getchar) end; set @tempint=@getint*power(16,datalength(@tempchar)-@n)
set @totalint = @totalint + @tempint
set @n=@n+1
end set @re=convert(varbinary(1),@totalint) + @re;
set @runNum=@runNum-1;
end
end
return @re end
GO

最新文章

  1. 广州PostgreSQL用户会技术交流会小记 2015-9-19
  2. hibernate反向工程 (eclipse和myeclipse)(转)
  3. 我对GIT的理解
  4. 问题-WIN7 ..\Bin\InitCC32.exe&quot;.进程无法访问(拒绝访问)
  5. crashRpt用法
  6. IntelliJ Idea 常用快捷键列表(转)
  7. ui-router 父子state共享数据
  8. CSS3-loading动画(二)
  9. Oracle总结第二篇【视图、索引、事务、用户权限、批量操作】
  10. 随心测试_数据库_001&lt;论数据的重要性&gt;
  11. AnjularJS 学习
  12. Java插件之Jrebel
  13. [Bjoi2018]二进制
  14. python 全栈开发,Day130(多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播)
  15. arcengine直连sde
  16. KVM虚拟化技术(三)KVM环境预配
  17. tensorflow的save和restore
  18. Java10-java语法基础(九)——java的封装性
  19. 介绍 ASP.NET Identity - ASP.NET 应用程序的成员身份认证系统
  20. Socket的基本操作

热门文章

  1. 【Android】WebView读取本地图片
  2. nginx添加新模块
  3. web.py url传参及获取
  4. 20145314郑凯杰 《Java程序设计》第8周学习总结
  5. React Native区分安卓/iOS平台
  6. openwrt下如何只编译uboot
  7. optind变量
  8. dd命令参数解析
  9. rhel7配置samba_4.7.1,共享给所有人以及共享给指定用户
  10. Spring中Bean生命周期