---
title: "SPLIT_PART - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: SPLIT_PART 描述 该函数用于将输入字符串按分隔符分割成多个子字符串，并返回指定位置的子字符串。 说明 对于 OceanBase 数据库 V4.3.5 版本，该函数从 V4.3.5 BP1 版本开始支持。 使用限制 参数 start_part 和 end_part 符号必须一致。当 start_part 取值…
---
切换语言

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

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

# SPLIT_PART

更新时间：2026-07-15 20:42:45

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/400.functions-of-mysql-mode/200.single-row-functions-of-mysql-mode/200.string-functions-of-mysql-mode/8350.split_part-of-mysql-mode.md)  

## 描述

该函数用于将输入字符串按分隔符分割成多个子字符串，并返回指定位置的子字符串。

#### 说明

对于 OceanBase 数据库 V4.3.5 版本，该函数从 V4.3.5 BP1 版本开始支持。

## 使用限制

参数 `start_part` 和 `end_part` 符号必须一致。当 `start_part` 取值为负数时，不能指定 `end_part`，否则报错。

## 语法声明

```sql
SPLIT_PART(str, delimiter, start_part[, end_part])

```

## 参数解释

- `str`：表示需要分割的字符串。支持类型：`VARCHAR`、`TINYTEXT`、`TEXT`、`LONGTEXT`、`NULL` 等，不支持 `JSON` 类型。
 - `delimiter`：表示用于分割字符串的分隔符。支持类型：`VARCHAR`、`NULL`。
 - `start_part`：指定返回 `str` 被分割后的第几部分。支持类型：`INT`、`NULL`。
 - `end_part`：可选项，当指定 `end_part` 后，表达式返回从 `start_part` 到 `end_part` 的字符串。支持类型：`INT`、`NULL`。

## 返回类型

- 大部分场景下返回值类型与 `str` 类型保持一致，但当 `str` 为 `TINYTEXT` 时返回值类型为 `VARCHAR`。
 - 当表达式任意参数为 `NULL` 时，返回结果为 `NULL`。
 - 当 `delimiter` 不存在于 `str` 中，且当 `start_part` 为 `1` 时，返回 `str` 的原始字符串。
 - 当 `start_part = 0` 时，将 `0` 按照 `1` 处理。
 - 当 `start_part < 0` 时，按照逆序处理。
 - 负数按照逆序处理。

## 示例

```sql
SELECT
    SPLIT_PART('a,b,c,d', ',', 1),
    SPLIT_PART('a,b,c,d', ',', 1, 2),
    SPLIT_PART('a,b,c,d', ',', 0),
    SPLIT_PART('a,b,c,d', ',', -2),
    SPLIT_PART('a,b,c,d', ',', 5),
    SPLIT_PART('a,b,c,d', ',', -5);

```

返回结果如下：

```shell
+-------------------------------+----------------------------------+-------------------------------+--------------------------------+-------------------------------+--------------------------------+
| SPLIT_PART('a,b,c,d', ',', 1) | SPLIT_PART('a,b,c,d', ',', 1, 2) | SPLIT_PART('a,b,c,d', ',', 0) | SPLIT_PART('a,b,c,d', ',', -2) | SPLIT_PART('a,b,c,d', ',', 5) | SPLIT_PART('a,b,c,d', ',', -5) |
+-------------------------------+----------------------------------+-------------------------------+--------------------------------+-------------------------------+--------------------------------+
| a                             | a,b                              | a                             | c                              |                               |                                |
+-------------------------------+----------------------------------+-------------------------------+--------------------------------+-------------------------------+--------------------------------+
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) 咨询热线
