为了使用Unnest功能,我想将列表转换为数组。
这是我的文字类型列表。它是此函数的输出(How get all positions in a field in PostgreSQL?):
108,109,110,114,115,116,117,156,157,200,201,205
我用
转换为数组array[108,109,110,114,115,116,117,156,157,200,201,205]
结果是类型文本[]:
"{"108,109,110,114,115,116,117,156,157,200,201,205"}"
使用这种数组,不需要的函数不起作用所以我想我想转换为Int数组
由于
答案 0 :(得分:2)
with the_data(str) as (
select '108,109,110,114,115,116,117,156,157,200,201,205'::text
)
select elem
from the_data,
unnest(string_to_array(str, ',')) elem;
elem
------
108
109
110
114
115
116
117
156
157
200
201
205
(12 rows)
答案 1 :(得分:1)
如果我正确理解,您需要这个(无需转换为INT
):
select unnest( string_to_array('108,109,110,114,115,116,117,156,157,200,201,205', ',' ) )