split_part()

一个用于按分隔符分割字符串并返回其中一个字段的函数

split_part() 是一个用于按分隔符分割字符串并返回其中一个字段的函数。

split_part() 添加于 PostgreSQL 7.3

用法

split_part ( string TEXT, delimiter TEXT, n INTEGER ) → TEXT

split_part() 可用于从格式化为指定分隔符的字符串中提取单个字段。

PostgreSQL 14 开始,可以指定要提取的字段为负数。

请注意,split_part() 不适合用于常规解析 CSV 字符串,因为它会对分隔符的每次出现进行分割,而不考虑分隔符是否包含在引号字符串中。

要按分隔符分割字符串并返回所有元素,请参阅

变更历史

示例

获取由 | 分隔的值的字符串的第一个元素

postgres=# SELECT split_part('A|B|C', '|', 1);
 split_part 
------------
 A
(1 row)

获取相同字符串的最后一个元素(PostgreSQL 14 及更高版本)

postgres=# SELECT split_part('A|B|C', '|', -1);
 split_part 
------------
 C
(1 row)

不适合解析 CSV 字符串

postgres=# SELECT split_part('"foo","bar,baz","boo"', ',', 3);
 split_part 
------------
 baz"
(1 row)

分类

字符串操作, 系统函数

另请参阅

regexp_split_to_array(), regexp_split_to_table(), string_to_array(), string_to_table()

反馈

提交关于“split_part()”的任何评论、建议或更正 在此处