У меня есть столбец 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
Когда я запускаю вышеуказанный запрос, я получаю следующую ошибку:
Сообщение 2390, уровень 16, состояние 1, строка 1
XQuery [value ()]: атрибут верхнего уровня
узлы не поддерживаются