Мы можем использовать string_to_array
для завершения операции разделения, как показано ниже:
postgres=# select string_to_array('yz@outlook.com,xyz2@outlook.com',',');
string_to_array
-----------------------------------
{yz@outlook.com,xyz2@outlook.com}
(1 row)
postgres=# select (string_to_array('yz@outlook.com,xyz2@outlook.com',','))[1] as email1;
email1
----------------
yz@outlook.com
(1 row)
postgres=# select (string_to_array('yz@outlook.com,xyz2@outlook.com',','))[2] as email2;
email2
------------------
xyz2@outlook.com
(1 row)
postgres=# select (string_to_array('yz@outlook.com,xyz2@outlook.com',','))[1] as email1,(string_to_array('yz@outlook.com,xyz2@outlook.com',','))[2] as email2;
email1 | email2
----------------+------------------
yz@outlook.com | xyz2@outlook.com
postgres=# insert into table_name (email_1, email_2)
select
(string_to_array(email::varchar,','))[1],
(string_to_array(email::varchar,','))[2]
from
s_mas_enrich
Примечание: индекс массива PostgreSQL начинается с 1, а не с нуля.