我需要使用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

08-16 16:08