自定义函数 将十进制转化为16进制,将16换成 36的话,就可以转化为所有拼音字母的进制

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

/****** 对象:  用户定义的函数 dbo.f_16    脚本日期: 2005-8-23 14:28:15 ******/
ALTER  function f_16 (@vin varchar(100))
returns varchar(200)
   as
begin
declare
   @vtemp varchar(100),
   @vout varchar(200),
   @c varchar(100),
   @vc char(10)


    set @vtemp=@vin --9899
    if @vtemp<16
      begin
      if @vtemp<=9
        set @vtemp=@vtemp
      else
       begin
        set @vtemp=left(@vtemp,2)
 --       print @vtemp
        set @vtemp=char(cast(@vtemp as int)+55)
--        print @vtemp
       end
      return @vtemp
      end
    set @vout=''
    while @vtemp>=16
    begin
        set @c= @vtemp %16
      if   @c >9
        begin
          set @c=char(cast(@c as int)+55)
        end

        set @vout=@vout+@c
     
      set @vtemp=@vtemp/16
   
    end --while
    set @vtemp= @vtemp+@vout
    return @vtemp
   end

GO

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

select dbo.f_16('14')

返回  E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值