string_to_array()

将字符串拆分为数组的函数

string_to_array() 是一个系统函数,用于使用指定的定界符将字符串拆分为一个数组

string_to_array()PostgreSQL 7.4 中添加。

用法

string_to_array ( string text, delimiter text [, null_string text ] ) → text[]

请注意,string_to_array() 不适合用于CSV 字符串的一般解析,因为拆分是在定界符的每次出现时进行的,并且它不考虑定界符是否嵌入在带引号的字符串中。

更改历史记录

示例

string_to_array() 的基本用法示例

postgres=# SELECT string_to_array('1|2|3', '|');
 string_to_array 
-----------------
 {1,2,3}
(1 row)

默认情况下,字符串中嵌入的NULL 将转换为字符串字面量

postgres=# SELECT string_to_array('1|NULL|3', '|');
 string_to_array 
-----------------
 {1,"NULL",3}
(1 row)

要将其解释为实际的NULL 值,需要将其指定为第三个参数

postgres=# SELECT string_to_array('1|NULL|3', '|', 'NULL');
 string_to_array 
-----------------
 {1,NULL,3}
(1 row)

任何任意值都可以解释为NULL

postgres=# SELECT string_to_array('1|xxx|3', '|', 'xxx');
 string_to_array 
-----------------
 {1,NULL,3}
(1 row)

请注意,string_to_array() *不*适合解析任意CSV 字符串

postgres=# SELECT string_to_array('foo,bar,baz,"baz,boo"', ',');
        string_to_array        
-------------------------------
 {foo,bar,baz,"\"baz","boo\""}
(1 row)

分类

数组字符串操作系统函数

另请参阅

regexp_split_to_array()array_to_string()string_to_table()

反馈

提交任何关于 "string_to_array()" 的评论、建议或更正 此处