Xml 在查询中将varbinary转换为字符串

Xml 在查询中将varbinary转换为字符串,xml,sql-server-2008,varbinary,Xml,Sql Server 2008,Varbinary,我试图查询一个包含一些varbinary格式的XML值的表,但很难获得有意义的输出 我已经看了一些谷歌搜索结果和堆栈溢出的答案,比如,但是建议的答案似乎不适合我 我的最新查询版本如下: select top 100 EntryDataAndTime, EntryType, RequestID, Sequence, ServerName, cast(XML as varchar(max)) as xml_string from RequestResponseLog 这将以如下格

我试图查询一个包含一些varbinary格式的XML值的表,但很难获得有意义的输出

我已经看了一些谷歌搜索结果和堆栈溢出的答案,比如,但是建议的答案似乎不适合我

我的最新查询版本如下:

select top 100 EntryDataAndTime, EntryType, RequestID, Sequence, ServerName,
       cast(XML as varchar(max)) as xml_string
  from RequestResponseLog
这将以如下格式返回最后一列:
è½U_oÓ0 //¼¾ê+Zœ

我也尝试过:

select top 100 EntryDataAndTime, EntryType, RequestID, Sequence, ServerName,
       Convert(varchar(8000), XML, 2) as xml_string
  from RequestResponseLog
它似乎以十六进制格式返回最后一列,例如
1F8B08000000000000400BD555F6FD330102F2FBC

我上面提到的大多数谷歌搜索结果和堆栈溢出问题都包括一个步骤,在这个步骤中,您可以执行以下操作

declare @b varbinary(max)
set @b = 0x5468697320697320612074657374
在使用cast函数之前。我不完全清楚0x54是什么。。值是,但这似乎假设您只想转换单个值,而不是像我这样转换多行,除非我误解了


如果您能帮助将查询转换为可读字符串,我们将不胜感激。

在将数据以BLOB形式写入数据库之前,我们在C#的应用程序级别上进行了进一步的压缩研究。因此,没有标准的SQL server函数将数据转换为人类可读的形式,因此我需要在应用程序中反转压缩数据的过程


我把这个问题留在这里,而不是删除,以防将来有其他人有类似的问题。

您是否尝试转换到
nvarchar(max)
xml
@MikaelEriksson如果这两个问题都不顺利,我会出错。