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)