如何通过 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" 部分。
如果我在数据库中有一个 blob 并且我 select 它,我会得到以下结果:
Blob
------
0xABCDEF1234567890...
我可以执行什么查询,或者我可以设置什么选项来检索完整的十六进制字符串,以便我可以将其复制并粘贴到 SSMS 之外?
我想要的字符串与它在网格视图中显示的完全一样,采用十六进制格式,它只是截断了它。
我知道您可以导出数据、生成文件或连接 .NET CLR 并以这种方式检索数据,但是对于这个问题,该过程必须在连接到远程服务器时运行数据库,并且只能使用 SSMS 功能。没有导出,没有文件,只有 SSMS 中的结果(例如“0x12345 ...”)可以复制和粘贴。
我认为你做不到。如果查看高级选项(工具 -> 选项 -> 查询结果 -> SQL 服务器 -> 结果到网格),非 XML 数据的最大选项是 65535 字节。
也许您可以将其转换为 XML 并删除标记。
如果您进入 SSMS 上的工具 -> 选项菜单,并在查询结果 -> SQL 服务器部分下,您可以将 [=] 下的最大字符数更改为 return 12=] 和 "Results to Text" 部分。