実際にXMLデータを含む同じNVARCHARフィールドを持つ2つのテーブルがあります。 場合によっては、実際のXMLフィールドは他のテーブルの1行と同じですが、と異なるため、は属性の順序が異なります。SQLのXmlデータを比較
と同じXMLフィールドを決定するには、私のような比較の持っている必要があります、
XMLデータ型は比較またはソートすることはできません。
cast('<root><book b="" c="" a=""/></root>' as XML) = cast('<root><book a="" b="" c=""/></root>' as XML)
を私は、このエラーメッセージを取得します IS NULL演算子を使用する場合を除きます。
次に、同じXMLをNVARCHARに再キャストすることなく同じXMLを判断する最適なソリューションは何ですか?
XMLを構文的に比較するのではなく、XMLテキスト表現の実際の**意味**に基づいているのは、実際は非常に難しいビジネスです。 SQL Server内でこれを簡単に実行できるかどうかは疑いの余地はありません。ほとんどの場合、XMLを解析して**解釈して同じかどうかを判断できるアプリを使用する必要があります。簡単なテキスト比較は簡単ではありません。 –
sqlで独自のxmlパーサをロールしないでください。あなたの選択した言語から活用できる確立されたものを使用してください。 –