在 Postgres 中获取字符串的第三部分

Get the 3rd part of the string in Postgres

我有这样的数据,

ab-volt-ssn-dev
ab-volt-lnid-dev
ab-volt-ssn-hamp-dev
ab-volt-cf-apnt-test

我需要输出像,

ssn
lnid
ssn
cf

您可以使用 split_part()

select split_part('ab-volt-ssn-hamp-dev', '-', 3);

如果您需要访问多个部分,那么将其转换为数组可能会更容易:

select elements[1],
       elements[2],
       elements[3],
       elements[4]
from (
   select string_to_array(the_column, '-') as elements
   from the_table
) t;