【发布时间】:2013-07-22 23:44:42
【问题描述】:
SQL Server 中有 function 来执行此操作吗?
反转sys.fn_varbintohexstr?
【问题讨论】:
标签: sql-server function hex varbinary
SQL Server 中有 function 来执行此操作吗?
反转sys.fn_varbintohexstr?
【问题讨论】:
标签: sql-server function hex varbinary
您需要在动态 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 的版本,您会明白为什么它不是正确答案。
【讨论】:
select convert(varbinary(max),@hex,2) from foobar
【讨论】:
varbinary,但它是原始varbinary 的字符串表示形式的varbinary。它不是原来的 varbinary。