2014-09-18 4 views
0

Привет Я новичок в XML Datatype. Может ли кто-нибудь помочь мне выбрать «Да, я прав» из следующего XML. Пробовал многие существующие источники, но бесполезно.Как запросить столбец XML?

<Names> 
    <Name Id="1" Code="NM" Default="true">Yes I am right</Name> 
</Names> 

select column.value('(/languages/language/@code)[1]','varchar') 
from table t with(nolock) 

Я попытался выше кода после поиска многих источников, но я получаю сообщение об ошибке

Msg 9341, Level 16, State 1, Line 1 
XQuery table.column.value()]: Syntax error near '[', expected a step expression. 

ответ

1

Путь для примера будет/Имена/Имени и методы значения требует, чтобы указать, что оно это единственное значение возвращается, так что полный запрос будет

select column.value('(/Names/Name)[1]','varchar(max)') from t 

Обратите внимание на VARCHAR (макс), так как в противном случае вы бы просто вернуть один символ, указав VARCHAR без размер.

+0

Большое спасибо за вашу удобную помощь. – Azar

Смежные вопросы