希望使用TSQL将整数转换为十六进制字符串等效
1 = 1
10 = A
100 = 64
1000 = 3E8
等
所以解决方案似乎是
DECLARE @str VARCHAR(10)
SELECT @str = sys.fn_varbintohexstr(CONVERT(VARBINARY, @num))
IF @num < 16
SELECT @str = RIGHT(@str, 1)
ELSE IF @num < 256
SELECT @str = RIGHT(@str, 2)
ELSE IF @num < 4096
SELECT @str = RIGHT(@str, 3)
ELSE -- and so on
SELECT @str = RIGHT(@str, 4)
RETURN @str
但有人这似乎有点klutzy,有更好的方法吗?