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 文档: 其他字符串函数