У меня есть столбец xml в SQL Server 2005, который эквивалентен:
<Test foo="bar">
<Otherstuff baz="belch" />
</Test>
Я хочу иметь возможность получить значение атрибута foo Test (корневой элемент) как varchar. Моя цель была бы чем-то вроде:
select cast( '<Test foo="bar"><Otherstuff baz="belch" /></Test>' as xml).value('@foo','varchar(20)') as Foo
Когда я запускаю указанный выше запрос, я получаю следующую ошибку:
Msg 2390, уровень 16, состояние 1, строка 1 XQuery [значение()]: атрибут верхнего уровня узлы не поддерживаются