无法从SSMS获取完整长度的二进制数据

时间:2019-06-11 01:12:43

标签: sql-server ssms

表格

  • id-int
  • 文件-varbinary(max)

查询

SELECT file 
FROM Table 
WHERE id = 1

数据

ID 1数据具有一个文件。它的二进制长度是836412。但是,当我运行查询时,我只看到43680字节的二进制数据。

我试图通过弹出面板中的“将结果另存为...” 按钮以CSV格式下载数据。但是,我仍然无法获得二进制数据的完整长度。

在CSV中,只有16位(无符号,长度65534)数据可用。不幸的是,目前我无法从我的应用程序请求数据。我必须将其从SSMS中拉出,并在测试代码中手动将其转换以查看文件。

如何从SSMS获取完整的二进制数据?有显示全部二进制数据的选项吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用以下查询将“文件”字段转换为XML ...

SELECT CAST(CONVERT(VARCHAR(MAX), file, 1) AS XML)
FROM Table
WHERE id = 1

但是,您需要确认已正确设置SSMS查询选项:

Query | Query Options... | Results | Grid | XML Data: unlimited

这将以十六进制形式提供您的结果,如下所示:

0x47494638396150003200F70 ...
相关问题