Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何查询XML列?_Xml_Sql Server 2008 - Fatal编程技术网

如何查询XML列?

如何查询XML列?,xml,sql-server-2008,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

嗨,我是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)

示例的路径为/Names/Name,而value方法要求您指定它是一个返回的单个值,这样完整的查询将被删除

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

请注意varchar(max),否则只需通过指定varchar而不指定大小来返回单个字符。

非常感谢您的帮助。
select column.value('(/Names/Name)[1]','varchar(max)') from t