У меня есть таблица в SQL Server 2012, которая содержит некоторые данные о клиентах. Один из столбцов в таблице содержит данные лицензии, которые хранятся как XML. Тип ячейки: nvarchar(MAX)
.Вернуть данные XML-ячеек в XML-запрос с SQL Server 2012
Можно ли использовать FOR XML
(или какой-либо другой метод), чтобы при возврате данных XML из данных лицензии включался как XML, а не форматированная строка?
Если я просто использовать FOR XML RAW, то результат:
<Customers id="1" CustomerName="FirstCustomer"
LicenseData="<license customerid="1">...More data here...</license>" />
Что бы я Liket, чтобы получить это:
<Customers id="1" CustomerName="FirstCustomer">
<license customerid="1">
...More data here...
</license>
</Customers>
Есть ли способ, чтобы это произошло?
[Плохие привычки пинать: неправильный выбор типа данных] (http://sqlblog.com/blogs/aaron_bertrand/ архив/2009/10/12/bad-habits-to-kick-use-the-wrong-data-type.aspx) - вы всегда должны использовать наиболее подходящий тип данных - вот для чего они все-таки нужны! Если ваши данные лицензии действительно всегда являются XML - ** хранят его как 'XML' **! –
Спасибо. К сожалению, я не был дизайнером этой конкретной таблицы, я просто пытаюсь работать с ней. Я мог бы изменить тип данных в XML, но мне нужно пройти через какой-то другой код, чтобы убедиться, что я больше не нарушаю ничего другого. –