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()”的任何评论、建议或更正