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

Can't get a full length of binary data from SSMS

Table

查询

SELECT file 
FROM Table 
WHERE id = 1

数据

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

我尝试通过弹出面板中的 "Save Result as..." 按钮将数据下载为 CSV 文件。但是,我仍然无法获得二进制数据的完整长度。

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

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

您可以尝试使用如下查询将 "file" 字段转换为 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 ...