split_part()
是一个用于根据分隔符分割字符串并返回其中一个字段的函数。
split_part()
在 PostgreSQL 7.3 中添加。
用法
split_part (string
TEXT
,delimiter
TEXT
,n
INTEGER
) →TEXT
split_part()
可用于从使用指定分隔符格式化的字符串中提取单个字段。
从 PostgreSQL 14 开始,可以将要提取的字段指定为负数。
请注意,split_part()
不适用于 CSV 字符串的一般解析,因为它会在分隔符的每次出现时进行分割,并且不会考虑分隔符是否嵌入在带引号的字符串中。
要根据分隔符分割字符串并返回所有元素,请参阅
变更历史
- PostgreSQL 14
- 添加了对负索引的支持 (提交 ec0294fb)
- PostgreSQL 7.3
示例
获取以 |
分隔的值的字符串的第一个元素
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)
参考
- PostgreSQL 文档: 其他字符串函数
有用链接
- PostgreSQL SPLIT_PART() 函数 - w3resource 的概述
- PostgreSQL SPLIT_PART 函数 - PostgreSQL 教程的概述