5

有没有办法做到这一点functionSQL Server扭转sys.fn_varbintohexstr

4

2 回答 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 的版本,您会明白为什么它不是正确答案。

于 2016-10-12T22:18:19.517 回答
-1

select convert(varbinary(max),@hex,2) from foobar

于 2013-07-23T18:42:32.907 回答