3

我有一个返回要转换为 varchar 的 XML 的查询。我的查询返回 93,643 个字符的 XML。当我尝试将我的 xml 结果转换为 varchar 时,当我将结果集复制到文本编辑器时,我只得到 43,679 个字符。当我执行 len(xmlString) 时,我得到 93,643 个字符。

我从这篇文章中知道 varchar(max) 最多可以有 2^31 个字符和 1 个字节 = 1 个字符,但它似乎切断了我的数据。

XML 字符是否超过 1 个字节?为什么我无法从我的 xml 结果中选择所有数据?

CAST((SELECT COLUMNS FROM TABLE FOR XML PATH('Name'), TYPE) AS VARCHAR(MAX)
4

2 回答 2

0

这只是 Managementstudio 的限制。
在更大的表上进行测试查询,我得到了 43,679 个字符的描述。
同一个查询通过 ADO 在应用程序中传递 267089 个字符。

于 2012-12-19T18:08:10.667 回答
0

不知道为什么需要将 xml 数据转换为 varchar(max) 但如果您只想复制所有数据,则根本不要转换它。在这种情况下,在结果窗口中,您将看到一个带有可点击值的单元格(就像 Web 链接一样)。单击它,您的所有数据将在新窗口中打开,然后您将能够像文件一样保存或复制它。希望能帮助到你。

于 2012-12-19T18:39:02.123 回答