Sql server 使用开放式XML从数据存储中提取信息
我在数据库字段中保存了以下示例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
<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)'