---
title: "EXTRACT - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: "EXTRACT 描述 该函数依据 Xpath 抽取一个 XML 片段，其结果是 Xpath 匹配到的所有节点的拼接。 语法 EXTRACT(XMLType_instance, XPath_string [, namespace_string ]) 返回类型 返回 XMLType 数据类型。 参数解释 字段 说明 XM…"
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.5.0

# EXTRACT

更新时间：2026-02-13 18:18:53

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/500.functions-of-oracle-mode/200.single-row-functions-of-oracle-mode/1300.xml-functions-of-oracle-mode/300.querying-xmltype-data-functions-of-oracle-mode/100.extract-function-of-oracle-mode.md)  

## 描述

该函数依据 Xpath 抽取一个 XML 片段，其结果是 Xpath 匹配到的所有节点的拼接。

## 语法

```sql
EXTRACT(XMLType_instance, XPath_string [, namespace_string ])

```

## 返回类型

返回 XMLType 数据类型。

## 参数解释

| 字段 | 说明 |
| --- | --- |
| XMLType_instance | 指定 XMLType 类型的数据，可以是 XMLType 列或者返回类型为 XMLType 的表达式。 |
| XPath_string | 指定需要搜索节点的 Xpath。 |
| namespace_string | 指定 XML 命名空间。 |

## 示例

```shell
DROP TABLE xml_test;
CREATE TABLE xml_test (id NUMBER, c1 XMLType);
INSERT INTO xml_test VALUES (1, '<a>aaa</a>');
INSERT INTO xml_test VALUES (2, '<a><b>aaa</b><b>bbb</b></a>');
INSERT INTO xml_test VALUES (3, '<a a1="a1">aaa</a>');
INSERT INTO xml_test VALUES (4, '<a><b b1="b1" b2="b2">bbb</b></a>');
INSERT INTO xml_test VALUES (5, '<a><b b1="b1" b2="b2">bbb1</b><b b1="b1" b2="b2">bbb2</b></a>');
INSERT INTO xml_test VALUES (6, '<a xmlns="ns1" xmlns:f="ns2"><f:b b1="b1" b2="b2">bbb1</f:b><b b1="b1" b2="b2">bbb2</b></a>');

obclient> SELECT EXTRACT(c1, '/a/f:b', 'xmlns="ns1" xmlns:f="ns2"') as RES
 FROM xml_test WHERE id = 6;
+----------------------------------+
| RES                              |
+----------------------------------+
| <f:b b1="b1" b2="b2">bbb1</f:b>
 |
+----------------------------------+
1 row in set

obclient> SELECT EXTRACT(c1, '/a/h:b/text()', 'xmlns="ns1" xmlns:h="ns2"') as RES FROM xml_test WHERE id = 6;
+------+
| RES  |
+------+
| bbb1 |
+------+
1 row in set

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
