我需要使用sql查询从存储在数据库中的xml中获取数据。
xml如下所示
<outerNode>
<innerNode>
<element1>Workflow1</element1>
<element2>619</element2>
<element3>aioperator1</element3>
<element4>0</element4>
<element5>623</element5>
</innerNode>
<innerNode>
<element1>Workflow2</element1>
<element2>620</element2>
<element3>amloperator1</element3>
<element4>1</element4>
<element5>624</element5>
</innerNode>
</outerNode>
现在,我需要做的是使用MySql查询仅获取“ aioperator1”那些元素。
任何帮助将不胜感激。
最佳答案
可能是这样的
SET @xml = '
<outerNode>
<innerNode>
<element1>Workflow1</element1>
<element2>619</element2>
<element3>aioperator1</element3>
<element4>0</element4>
<element5>623</element5>
</innerNode>
<innerNode>
<element1>Workflow2</element1>
<element2>620</element2>
<element3>amloperator1</element3>
<element4>1</element4>
<element5>624</element5>
</innerNode>
</outerNode>';
SELECT ExtractValue(@xml, 'outerNode/innerNode/element3') value;
FIDDLE DEMO