Sql server 2008 Xquery方法query()在SQL Server中不工作

Sql server 2008 Xquery方法query()在SQL Server中不工作,sql-server-2008,Sql Server 2008,我有一个XML列Demographics,示例数据如下- <StoreSurvey xmlns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey"> <AnnualSales>800000</AnnualSales> <AnnualRevenue>80000</AnnualRevenue> <BankName>U

我有一个XML列Demographics,示例数据如下-

<StoreSurvey xmlns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey">
  <AnnualSales>800000</AnnualSales>
  <AnnualRevenue>80000</AnnualRevenue>
  <BankName>United Security</BankName>
  <BusinessType>BM</BusinessType>
  <YearOpened>1996</YearOpened>
  <Specialty>Mountain</Specialty>
  <SquareFeet>21000</SquareFeet>
  <Brands>2</Brands>
  <Internet>ISDN</Internet>
  <NumberEmployees>13</NumberEmployees>
</StoreSurvey>
但我得到了一个错误-

Msg 2260,16级,状态1,第1行 XQuery[Sales.Store.Demographics.query]:没有名为“StoreSurvey”的元素

我可以清楚地看到有一个StoreSurvey元素。请告诉我哪里出了问题

您需要尊重正在使用的XML名称空间

<StoreSurvey xmlns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey">
             *********************************************************************************

错误消息是正确的。调查中没有任何元素。阅读此内容:请参阅,当我使用相同类型的另一个表尝试您的方法时,我得到错误-Msg 9314,级别16,状态1,第2行XQuery[Production.ProductModel.Instructions.value]:无法隐式原子化或将“fn:data”应用于复杂内容元素,在推断类型“element{}:Location”中找到类型“{}:Location”,匿名?'。我的查询是使用xmlnamespacesdfault“select Instructions.value”/root/Location[1],“bigint”从Production.ProductModel进行的,其中指令不是null@sam:对不起,如果没有看到您的XML和您使用的代码,我就无法在这里帮助您-有太多的事情可能会出错。。。。有了您显示的XML,我的代码将可以正常工作。我刚刚创建了另一个问题,因为我无法将所有问题粘贴到注释窗口中。问题的链接是-@Sam:也回答了这个问题-请,如果这些答案能帮助你解决问题,那么。这将表达你对那些花自己的时间帮助你的人的感激之情。
<StoreSurvey xmlns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey">
             *********************************************************************************
;WITH XMLNAMESPACES(DEFAULT 'http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey')
select 
    Demographics.value('(/StoreSurvey/AnnualSales)[1]', 'bigint') 
from 
    Sales.Store