/*hanjs 080619 将16进制字符串转为 字符串 */
drop procedure prc_HexToStr
go
/*hanjs 080619 将16进制字符串转为 字符串 */
create procedure prc_HexToStr @source varchar(4000),@str varchar(4000) output
as
begin
declare @len int,@sql nvarchar(100)
set @len=len(@source)/2
set @sql='declare @c binary('+rtrim(@len)+') set @c=0x'+@source+' set @s=cast(@c as varchar(4000))'
exec sp_executesql @sql,N'@s varchar(4000) output',@str output
end
go
--调用例子
declare @str varchar(4000),@s varchar(4000)
set @s='CEC4D 1A 7'
exec prc_HexToStr @s,@str output
select @str
文学
set @s='D2BDD 2A 92CCEC 0C 9FA'
exec prc_HexToStr @s,@str output
select @str
医药 , 卫生