函数中的最大值都写成了MAX,如果写成(8000)可能会出现显示不完全的现象
IF OBJECT_ID ('dbo.varbin2hexstr') IS NOT NULL
DROP FUNCTION dbo.varbin2hexstr
GO
CREATE function varbin2hexstr(
@bin varbinary(max)
)returns nvarchar(max)
as
begin
declare @re varchar(max),@i int
select @re='',@i=datalength(@bin)
while @i>0
select @re=substring('0123456789ABCDEF',substring(@bin,@i,1)/16+1,1)
+substring('0123456789ABCDEF',substring(@bin,@i,1)%16+1,1)
+@re
,@i=@i-1
return @re
end
GO
本文介绍了一个SQL函数,用于将二进制数据转换为十六进制字符串。该函数首先声明变量用于存储结果和数据长度,然后通过循环逐位读取二进制数据,并将其转换为十六进制字符,最终返回转换后的十六进制字符串。
167

被折叠的 条评论
为什么被折叠?



