У меня есть таблица со столбцом XML, который содержит 2 узла с большими строками base64 (изображения). Когда я запрашиваю базу данных, я хочу удалить эти 2 узла из XML, возвращенного клиенту. Я не могу изменить схему таблицы (т.е. я не могу разделить данные в столбце). Как я могу удалить 2 узла из столбца xml с помощью оператора select? (Узлы для удаления содержат текст «Изображение» в своем названии). В любом отдельном запросе может быть возвращено до 1000 записей.
В настоящее время мой запрос в основном выглядит следующим образом:
select top 1000 [MyXmlData] from [MyTable]
Столбец MyXmlData содержит xml, который выглядит примерно так:
<MyXml>
<LotsOfNodes></LotsOfNodes>
...
<ANode>
...
<MyImage1></MyImage1> <!-- remove this from returned xml -->
<MyImage2></MyImage2> <!-- remove this from returned xml -->
...
</ANode>
...
<LotsOfNodes></LotsOfNodes>
...
</MyXml>
Я использую SQL Server 2008.