我有一个返回要转换为 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)