使用sql从xml中提取值

时间:2014-08-11 11:30:33

标签: mysql

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

现在,我需要做的只是获得那些&#34; aioperator1&#34;使用MySql查询。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

可能是这样的

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