十进制数转换为十六进制数

    技术2022-05-11  62

    CREATE FUNCTION dbo.f_dec_hex(@num bigint,@length int) RETURNS varchar(16) AS BEGIN --作者:pbsql --@num为要转换为十六进制进制字符串的正整数,若为负数则返回'0' --@length为要返回的十六进制字符串的长度 --若@length为负数则返回'0',若为0则返回实际长度的十六进制字符串 --若@length大于0则返回长度为@length的十六进制字符串(从低位起,位数不够高位补'0',超过位数则高位被截断)   DECLARE @result varchar(16)   SET @result=''   IF @num<=0 or @length<0     SET @result='0'   ELSE   BEGIN     WHILE @num<>0       SELECT @result=SUBSTRING('0123456789ABCDEF',@num+1,1)+@result,@num=@num/16     IF @length>0       SET @result=RIGHT(REPLICATE('0',@length)+@result,@length)   END   RETURN @result END GO

    最新回复(0)