--参数描述:@Hex10 被转换10进制数字
--测试方法:SELECT [dbo].[ConvertHex10To36](17122394)
CREATE FUNCTION [dbo].[ConvertHex10To36]
(@Hex10 INT)
RETURNS VARCHAR(100)
AS
--DECLARE @Hex10 INT SET @Hex10=17122394 --注释AS(包括AS)以上所有行,将代码最后的RETURN换成PRINT,并设该行为断点,按F11开始调试
BEGIN
DECLARE @StrHex36 VARCHAR(100)--返回36进制表示的结果
DECLARE @Remainder INT--余数
DECLARE @Base36 VARCHAR(1)
SET @Remainder=0
SET @StrHex36=''
WHILE @Hex10>=36 --
BEGIN
SET @Remainder=@Hex10%36
SET @Hex10=@Hex10/36
SET @Base36=SUBSTRING('0123456789ABCDEFGHIJKLNMOPQRSTUVWXYZ',@Remainder+1,1)
SET @StrHex36=@Base36+@StrHex36
END
SET @Remainder=@Hex10%36
SET @Base36=SUBSTRING('0123456789ABCDEFGHIJKLNMOPQRSTUVWXYZ',@Remainder+1,1)
SET @StrHex36=@Base36+@StrHex36
--PRINT @StrHex36
RETURN @StrHex36
END
本文介绍了一个SQL Server存储过程,用于将十六进制数字转换为三十六进制表示形式。通过递归地除以36,并使用特定字符串来映射余数到相应的三十六进制字符。
951

被折叠的 条评论
为什么被折叠?



