如何通过 SQL Server Management Studio 获取 blob 的完整十六进制字符串?

How can I get the full hex string of a blob via SQL Server Management Studio?

如果我在数据库中有一个 blob 并且我 select 它,我会得到以下结果:

Blob
------
0xABCDEF1234567890...

我可以执行什么查询,或者我可以设置什么选项来检索完整的十六进制字符串,以便我可以将其复制并粘贴到 SSMS 之外?

我想要的字符串与它在网格视图中显示的完全一样,采用十六进制格式,它只是截断了它。

我知道您可以导出数据、生成文件或连接 .NET CLR 并以这种方式检索数据,但是对于这个问题,该过程必须在连接到远程服务器时运行数据库,并且只能使用 SSMS 功能。没有导出,没有文件,只有 SSMS 中的结果(例如“0x12345 ...”)可以复制和粘贴。

我认为你做不到。如果查看高级选项(工具 -> 选项 -> 查询结果 -> SQL 服务器 -> 结果到网格),非 XML 数据的最大选项是 65535 字节。

也许您可以将其转换为 XML 并删除标记。

如果您进入 SSMS 上的工具 -> 选项菜单,并在查询结果 -> SQL 服务器部分下,您可以将 [=] 下的最大字符数更改为 return 12=] 和 "Results to Text" 部分。