Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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
Sql server 如何从SQL Server表中读取XMLColumn的值_Sql Server_Xml_Xquery_Xquery Sql - Fatal编程技术网

Sql server 如何从SQL Server表中读取XMLColumn的值

Sql server 如何从SQL Server表中读取XMLColumn的值,sql-server,xml,xquery,xquery-sql,Sql Server,Xml,Xquery,Xquery Sql,我不熟悉SQL Server中的xquery。 这是ReponseRecord表中ErrorXml列中的值。以下是ErrorXML列的示例数据的显示方式 第1行: <Data> <Error PropertyName="CaseDisplayID"> <ErrorMessage Type="Database">Claim is not in awaiting reprice response state. Current case state is

我不熟悉SQL Server中的xquery。 这是ReponseRecord表中ErrorXml列中的值。以下是ErrorXML列的示例数据的显示方式

第1行:

<Data>
  <Error PropertyName="CaseDisplayID">
    <ErrorMessage Type="Database">Claim is not in awaiting reprice response state. Current case state is ** Closed (Cancelled) **</ErrorMessage>
  </Error>
</Data>
<Data><Error PropertyName="CaseDisplayID" /></Data>
<Data />

索赔未处于等待重新定价响应状态。当前案例状态为**关闭(已取消)**
第2行:

<Data>
  <Error PropertyName="CaseDisplayID">
    <ErrorMessage Type="Database">Claim is not in awaiting reprice response state. Current case state is ** Closed (Cancelled) **</ErrorMessage>
  </Error>
</Data>
<Data><Error PropertyName="CaseDisplayID" /></Data>
<Data />

第3行:

<Data>
  <Error PropertyName="CaseDisplayID">
    <ErrorMessage Type="Database">Claim is not in awaiting reprice response state. Current case state is ** Closed (Cancelled) **</ErrorMessage>
  </Error>
</Data>
<Data><Error PropertyName="CaseDisplayID" /></Data>
<Data />

如果该属性存在,我想在这里读取Error的值

看看这是否有帮助

•检查XML文档中是否存在某个XML节点:

SELECT xmlColumn.exist('declare namespace x="1"; (/x:ParentNode/x:ChildNode)') AS test
FROM dbo.Table
WHERE Column1=22
•要查询XML数据,请执行以下操作:

SELECT xmlColumn.query('declare namespace x="1"; (/x:ParentNode/x:ChildNode)') AS test
FROM dbo.Table
WHERE Column1=22
我认为在您的情况下不需要名称空间,在这种情况下,只需删除它们即可

SELECT xmlColumn.exist('/ParentNode/ChildNode') AS test
FROM dbo.Table
WHERE Column1=22
对不起,我没有任何删除的例子,但它是相同的方法,你可以在这里检查,而不是“查询”或“存在”,只使用删除。你可以在这里查看更多信息

干杯

看看这是否有帮助

•检查XML文档中是否存在某个XML节点:

SELECT xmlColumn.exist('declare namespace x="1"; (/x:ParentNode/x:ChildNode)') AS test
FROM dbo.Table
WHERE Column1=22
•要查询XML数据,请执行以下操作:

SELECT xmlColumn.query('declare namespace x="1"; (/x:ParentNode/x:ChildNode)') AS test
FROM dbo.Table
WHERE Column1=22
我认为在您的情况下不需要名称空间,在这种情况下,只需删除它们即可

SELECT xmlColumn.exist('/ParentNode/ChildNode') AS test
FROM dbo.Table
WHERE Column1=22
对不起,我没有任何删除的例子,但它是相同的方法,你可以在这里检查,而不是“查询”或“存在”,只使用删除。你可以在这里查看更多信息

Cheers

用于从XML中获取特定值,并检查节点
/Data/Error
是否存在

结果:

PropertyName ErrorType ErrorMessage
--------------- --------------- ----------------------------------------------------------------------------------------------------
CaseDisplayID数据库声明未处于等待重新定价响应状态。当前案例状态为**关闭(已取消)**
CaseDisplayID为NULL

用于从XML中获取特定值,并检查节点
/Data/Error
是否存在

结果:

PropertyName ErrorType ErrorMessage
--------------- --------------- ----------------------------------------------------------------------------------------------------
CaseDisplayID数据库声明未处于等待重新定价响应状态。当前案例状态为**关闭(已取消)**
CaseDisplayID为NULL