有没有办法将 sys.fn_varbintohexstr 结果转回 varbinary?

Posted

技术标签:

【中文标题】有没有办法将 sys.fn_varbintohexstr 结果转回 varbinary?【英文标题】:Is there a way to turn sys.fn_varbintohexstr result back to varbinary? 【发布时间】:2013-07-22 23:44:42 【问题描述】:

SQL Server 中有 function 来执行此操作吗? 反转sys.fn_varbintohexstr?

【问题讨论】:

【参考方案1】:

您需要在动态 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 的版本,您会明白为什么它不是正确答案。

【讨论】:

【参考方案2】:

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

【讨论】:

这不起作用。您确实会从中得到varbinary,但它是原始varbinary 的字符串表示形式的varbinary。它不是原来的 varbinary。

以上是关于有没有办法将 sys.fn_varbintohexstr 结果转回 varbinary?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法将 QVariant 与 QVector 一起使用?

有没有办法将 QTableView 模型转换为 QStandardItemModel

有没有办法将数字单词转换为整数?

NSManagedObject 有没有办法将创建的子类导入 xcdatamodel 文件

有没有办法使用 VueJs 将列表分成列?

Symfony - 有没有办法将实体设置为全局?