博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL SERVER 自定义函数 整数转成指定长度的16进制 转换成指定长度的16进制 不足补0...
阅读量:5933 次
发布时间:2019-06-19

本文共 822 字,大约阅读时间需要 2 分钟。

最近做项目扩展的时候,遇到问题就是将整型转换成指定长度的16进制

刚开始就是直接使用 cast(12 as varbinary(4))但是发现这个不能解决我的问题

所以就上网搜了一下,然后改了改,下面就是函数:

1 Create Function IntToHexLength(@Num int,@HxLength int) 2 returns varchar(16) 3 as 4 begin 5   declare @Mods int,@res varchar(16),@Length int 6   set @res='' 7   while @Num <> 0  8   begin 9     set @Mods =@Num % 1610     if @Mods > 9 11       set @res = Char(Ascii('A')+@Mods-10)+@res12     else 13       set @res = Cast(@Mods as varchar(4)) + @res14     set @Num = @Num/1615   end16   set @Length=@HxLength-DataLength(@res)17   if(DataLength(@res)<@HxLength)18   BEGIN19       while @Length<>020       begin21       SET @res='0'+@res22       set @Length=@Length-123       end24   END25   return @res26 end
View Code

然后用select dbo.IntToHexLength(15,4)

就得到:这样就符合了要求!

 

转载于:https://www.cnblogs.com/feiyi/p/4274149.html

你可能感兴趣的文章
赫夫曼编码实现
查看>>
html页面显示div源代码
查看>>
基础复习-算法设计基础 | 复杂度计算
查看>>
debian、ubuntu系统下,常用的下载工具
查看>>
带以太网的MicroPython开发板:TPYBoardv201温湿度上传实例
查看>>
如何解压缩后缀名为zip.001,zip.002等的文件
查看>>
OSGI企业应用开发(十二)OSGI Web应用开发(一)
查看>>
Python 以指定概率获取元素
查看>>
微信公众平台图文教程(二) 群发功能和素材管理
查看>>
关于System.Collections空间
查看>>
MPP(大规模并行处理)
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
POJ2348 UVa10368 HDU1525 Euclid's Game【博弈】
查看>>
用API操作串口
查看>>
Java 位运算
查看>>
好用的CSS模块化打包工具CSS-COMBO
查看>>
python 中的字符和字符串
查看>>
C#Winform限制Textbox只能输入数字
查看>>
USACO 3.1.4 [Shaping Regions]
查看>>
美化 Linux 字体显示
查看>>