string_to_table()
是一个用于根据指定分隔符分割字符串并返回一组值的函数。
string_to_table()
在 PostgreSQL 14 中添加。
用法
string_to_table (string
TEXT
,delimiter
TEXT
[,null_string
TEXT
] ) → SETOF TEXT
string_to_table()
提供了基于集合的等效项,类似于 string_to_array()
,并且功能相同,但速度略快于 unnest(string_to_array())
。
请注意,string_to_table()
不适合用于 CSV 字符串的一般解析,因为分割是在分隔符的每次出现时进行的,并且它不考虑分隔符是否嵌入在带引号的字符串中。
更改历史记录
- PostgreSQL 14
- 添加 (提交 66f16306)
示例
string_to_table() 的基本用法
postgres=# SELECT string_to_table('foo,bar,baz,','); string_to_table ----------------- foo bar baz (3 rows)
请注意,string_to_table()
*不* 适用于解析 CSV 字符串
postgres=# SELECT string_to_table('foo,bar,baz,"baz,boo"', ','); string_to_table ----------------- foo bar baz "baz boo" (5 rows)
参考
- PostgreSQL 14 文档: 其他字符串函数