Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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 使用开放式XML从数据存储中提取信息_Sql Server_Xml_Tsql_Xquery - Fatal编程技术网

Sql server 使用开放式XML从数据存储中提取信息

Sql server 使用开放式XML从数据存储中提取信息,sql-server,xml,tsql,xquery,Sql Server,Xml,Tsql,Xquery,我在数据库字段中保存了以下示例XML: <datastore multipleDataSeparator=","> <group name="BasicDetails"> <field name="CalculationType">REFUND</field> </group> </datastore> 但是,@lstrCalculationType的输出为空。任何指导或输入都将不胜感激。我将使用内置的X

我在数据库字段中保存了以下示例XML:

<datastore multipleDataSeparator=",">
  <group name="BasicDetails">
     <field name="CalculationType">REFUND</field>
  </group>
</datastore>

但是,
@lstrCalculationType
的输出为空。任何指导或输入都将不胜感激。

我将使用内置的XQuery支持来实现这一点:

DECLARE @xml xml

SET @xml = ('<datastore multipleDataSeparator=",">
                 <group name="BasicDetails">
                     <field name="CalculationType">REFUND</field>
                 </group>
             </datastore>')

SELECT 
    @xml.value('(/datastore/group/field[@name="CalculationType"]/text())[1]', 'varchar(25)')
DECLARE@xml
SET@xml=('
退款
')
挑选
@xml.value('(/datastore/group/field[@name=“CalculationType”]/text())[1],'varchar(25)'

我会使用内置的XQuery支持来实现这一点:

DECLARE @xml xml

SET @xml = ('<datastore multipleDataSeparator=",">
                 <group name="BasicDetails">
                     <field name="CalculationType">REFUND</field>
                 </group>
             </datastore>')

SELECT 
    @xml.value('(/datastore/group/field[@name="CalculationType"]/text())[1]', 'varchar(25)')
DECLARE@xml
SET@xml=('
退款
')
挑选
@xml.value('(/datastore/group/field[@name=“CalculationType”]/text())[1],'varchar(25)'