有没有办法将 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