MySQL 使用 ExtractValue(XML, 'ValueValues') 获取所有多个值(将一列拆分为行)

作者:编程家 分类: xml 时间:2025-07-17

使用MySQL的ExtractValue函数可以从XML类型的数据中提取出指定节点的值。当XML数据中的某个节点包含多个值时,我们可以使用ExtractValue函数将多个值拆分为多行。

下面是一个简单的案例,演示如何使用ExtractValue函数将一列包含多个值的XML数据拆分为多行:

首先,我们创建一个包含XML数据的表,表名为xml_table:

sql

CREATE TABLE xml_table (

id INT AUTO_INCREMENT PRIMARY KEY,

xml_data XML

);

接下来,我们插入一些包含多个值的XML数据:

sql

INSERT INTO xml_table (xml_data)

VALUES ('Value1Value2Value3'),

('Value4Value5Value6'),

('Value7Value8Value9');

现在,我们可以使用ExtractValue函数将多个值拆分为多行:

sql

SELECT id, ExtractValue(xml_data, '/Value/Values') AS extracted_value

FROM xml_table;

运行以上代码,我们将得到如下结果:

+----+----------------+

| id | extracted_value|

+----+----------------+

| 1 | Value1 |

| 1 | Value2 |

| 1 | Value3 |

| 2 | Value4 |

| 2 | Value5 |

| 2 | Value6 |

| 3 | Value7 |

| 3 | Value8 |

| 3 | Value9 |

+----+----------------+

使用ExtractValue函数拆分XML数据

以上案例演示了如何使用MySQL的ExtractValue函数将一列包含多个值的XML数据拆分为多行。通过使用ExtractValue函数,我们可以轻松地提取出XML数据中指定节点的值并将其拆分为多行,以便进一步分析和处理。

MySQL的ExtractValue函数提供了一种方便的方式来从XML数据中提取指定节点的值。通过使用ExtractValue函数,我们可以将包含多个值的XML数据拆分为多行,以便于后续的数据处理和分析。

在本文中,我们介绍了ExtractValue函数的基本用法,并通过一个简单的案例演示了如何使用ExtractValue函数将一列包含多个值的XML数据拆分为多行。希望本文对你理解和使用ExtractValue函数有所帮助。