【叶子函数分享三十四】字符串转成16进制函数

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

  字符串转成16进制

  作者:不得闲

  QQ: 75492895

  Email: appleak46@yahoo.com.cn

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

--创建函数(suiyunonghen(不得闲))

Create Function VarCharToHex(@Str Varchar(400))

returns varchar(800)

as

begin

  declare @i int,@Asi int,@ModS int,@res varchar(800),@Len int,@Cres varchar(4),@tempstr varbinary(400)

  select @i = 1,@res='',@len=datalength(@str),@tempStr = Convert(varbinary,@str)

  while @i<=@len

  begin

     Select @Asi = substring(@tempstr,1,1),@Cres=''

     while @Asi <> 0

     begin

       select @Mods = @Asi %16,

       @Cres=Case when (@Mods > 9) then Char(Ascii('A')+@Mods-10)+@Cres else Cast(@Mods as varchar(4)) + @Cres end,

       @Asi = @Asi/16

     end

     Select @res = @res + @Cres,@tempStr =  substring(@tempStr,2,@len-1),@i = @i+1 

  end

  return @res

end

 

go

--测试示例

select dbo.VarCharToHex('叶子')

 

--运行结果

/*

D2B6D7D3

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值