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='CEC4D1A7'
exec prc_HexToStr @s,@str output
select @str
文学set @s='D2BDD2A92CCEC0C9FA'
exec prc_HexToStr @s,@str output
select @str
医药,卫生