无法从 SSMS 获取完整长度的二进制数据
Can't get a full length of binary data from SSMS
Table
- id - 整数
- 文件 - varbinary(最大)
查询
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 ...
Table
- id - 整数
- 文件 - varbinary(最大)
查询
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 ...