如何查询XML列?

时间:2014-09-18 11:37:46

标签: xml sql-server-2008

您好我是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 个答案:

答案 0 :(得分:1)

您的示例的路径是/ Names / Name,值方法要求您指定它是返回的单个值,因此完整的查询将是

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

注意varchar(max),否则你只需通过指定没有大小的varchar来返回单个字符。

相关问题