PostgreSQL 教程: split_part 函数

九月 21, 2023

PostgreSQL 的SPLIT_PART()函数按指定分隔符分割字符串,并返回第 n 个子字符串。

语法

下面说明了 PostgreSQL 的SPLIT_PART()函数的语法:

SPLIT_PART(string, delimiter, position)

参数

SPLIT_PART()函数需要三个参数:

1) string

string是要分割的字符串。

2) delimiter

delimiter是用作分割分隔符的字符串。

3) position

position是要返回的部分的位置,从 1 开始。位置必须是正整数。

如果position大于分割后的部分数,则SPLIT_PART()函数返回空字符串。

返回值

SPLIT_PART()函数以字符串形式返回指定位置的一部分。

示例

请参见以下语句:

SELECT SPLIT_PART('A,B,C', ',', 2);

字符串'A,B,C'在逗号分隔符 (,) 上拆分,生成 3 个子字符串:‘A’、‘B’ 和 ‘C’。

由于position为 2,因此该函数返回第二个子字符串 ‘B’。

这是输出:

PostgreSQL SPLIT_PART example

请参见示例数据库中的以下payment表。

payment table

以下语句使用SPLIT_PART()函数返回付款日期的年份和月份:

SELECT
    split_part(payment_date::TEXT,'-', 1) y,
    split_part(payment_date::TEXT,'-', 2) m,
    amount
FROM
    payment;

输出是:

PostgreSQL SPLIT_PART function example

在本教程中,您学习了如何使用 PostgreSQL 的SPLIT_PART()函数,在分割后获取字符串指定位置的一部分。