例如: 字符串为 'FFA'.
      
如何将其以十六进制的形式进行加一操作变成'FFB'.加一操作要能循环进行.

解决方案 »

  1.   

    print convert(varbinary(20),0xffa+1)
      

  2.   

    declare @sql nvarchar(100)
    declare @str varchar(10)
    declare @i int
    declare @number int
    declare @bin varbinary(1000)
    declare @result varchar(1000)
    set @str = 'FFA' /*要累加的字符串*/
    set @sql = ''
    set @i = 1 /*加数*/
    set @number = 16 /*假设累加到16*/
    while @i <= @number
    begin
    ----获得与源字符串相象的十六进制字符
    set @sql = N'set @bin = 0x' + @str + N'+' + cast(@i as nvarchar(10))
    exec sp_executesql @sql,N'@bin varbinary(1000) output',@bin output
    ----使用扩展存储过程获得与十六进制字符相象的字符串
    exec master.dbo.xp_varbintohexstr @bin, @result output
    ----去掉字符串前面的'0x'字符
    set @result = stuff(@result,1,2,'')
    ----显示转换后的字符串(或插入表中)
    print @result
    set @i = @i + 1
    end
      

  3.   

    多谢 "hellowork(一两清风)"!问题解决!分以给出.