将FOR XML强制转换为VAXIR(最大值)

2022-03-08 00:00:00 xml sql-server ssms for-xml

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

我从这个post得知varchar(Max)最多可以有2^31个字符,1个字节=1个字符,但它似乎会切断我的数据。

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

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

varchar

不确定为什么需要将推荐答案数据强制转换为varchar(Max),但是如果您只想复制所有数据,则根本不需要强制转换。在本例中,您将在结果窗口中看到一个具有可点击值的单元格(就像Web链接一样)。单击它,您的所有数据将在一个新窗口中打开,然后您可以将其保存为文件或直接复制。希望能有所帮助。

相关文章