SQL Server 把整数转成十六进制字符串



CREATE FUNCTION [dbo].[Int2HexStr](@value BIGINT)
RETURNS VARCHAR(50)

AS

BEGIN






    DECLARE @result VARCHAR(50)
    DECLARE @seq CHAR(16)

    DECLARE @digit CHAR(1)

    SET @seq = '0123456789ABCDEF'

    SET @result = SUBSTRING(@seq, (@value%16)+1, 1)

    WHILE @value > 0
    BEGIN
        SET @digit = SUBSTRING(@seq, ((@value/16)%16)+1, 1)
        SET @value = @value/16
        IF @value <> 0
            SET @result = @digit + @result
    END

    RETURN @result






END


GO

猜你喜欢

转载自blog.csdn.net/u012209148/article/details/80177649