CREATE FUNCTION ten_turn_sixteen(@a BIGINT)
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @x INT,@s VARCHAR(MAX)
IF @a<16
BEGIN
SET @s =CAST(@a AS VARCHAR(MAX))
IF @s='10'
BEGIN
SET @s='A'
END
IF @s='11'
BEGIN
SET @s='B'
END
IF @s='12'
BEGIN
SET @s='C'
END
IF @s='13'
BEGIN
SET @s='D'
END
IF @s='14'
BEGIN
SET @s='E'
END
IF @s='15'
BEGIN
SET @s='F'
END
RETURN @s
END
SET @x=@a%16
SET @s =CAST(@x AS VARCHAR(MAX))
IF @s='10'
BEGIN
SET @s='A'
END
IF @s='11'
BEGIN
SET @s='B'
END
IF @s='12'
BEGIN
SET @s='C'
END
IF @s='13'
BEGIN
SET @s='D'
END
IF @s='14'
BEGIN
SET @s='E'
END
IF @s='15'
BEGIN
SET @s='F'
END
SET @a=@a/16
RETURN dbo.ten_turn_sixteen(@a)+@s
END
输出为字符串