有一个内置函数可以从二进制值生成十六进制 字符串
SELECT '#' + sys.fn_varbintohexstr(ConVERT(BINARY(3), 0)), '#' + sys.fn_varbintohexstr(ConVERT(BINARY(3), 255))
您需要
binary(3)确保输出字符串的正确长度。
这是错误的。您会得到4个十六进制数字,因为这里的0和255是4个字节的
int值
SELECT '#' + sys.fn_varbintohexstr(ConVERT(varBINARY(8), 0)), '#' + sys.fn_varbintohexstr(ConVERT(varBINARY(8), 255))
2017年10月更新:
转换现在已内置到SQL Server中(自2008年起!),因此我们可以简单地使用CONVERT
SELECT '#' + ConVERT(char(6), ConVERT(BINARY(3), 2570841), 2)



