有没有一种方法可以将sys.fn_varbintohexstr函数的结果转换回varbinary类型?

6

在 SQL Server 中有没有一个函数可以反转 sys.fn_varbintohexstr?

2个回答

0

您需要在动态SQL语句中使用十六进制字符字符串,以便将其解析为varbinary。以下是如何执行此操作的一个示例。

-- Our original and fn_varbintohexstr values:
DECLARE @original varbinary(max) = 0xd0cf11;
DECLARE @sql nvarchar(max) = N'SET @converted = ' + sys.fn_varbintohexstr(@original) + ';';

-- Do the conversion
DECLARE @converted varbinary(max);
EXEC sp_executesql @sql,
   N'@converted varbinary(max) OUTPUT',
   @converted = @converted OUTPUT;

-- Proof it worked
PRINT @original;
PRINT @converted;
PRINT CASE WHEN @original = @converted THEN 'Same' ELSE 'Different' END;

这将打印Same

如果您尝试使用user1617237的版本,您会发现它不是一个正确的答案。


-1

从 foobar 中选择 convert(varbinary(max),@hex,2)


这个不起作用。你可以从中得到 varbinary,但它是原始 varbinary 的字符串表示的 varbinary,而不是原始的 varbinary - ErikE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接