"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como dividir uma coluna Postgres em várias linhas?

Como dividir uma coluna Postgres em várias linhas?

Postado em 2025-02-26
Navegar:258

How to Split a Postgres Column into Multiple Rows?

dividir a coluna em várias linhas no PostGres

declaração de problemas

considerar a seguinte tabela PostGres:

subject |  flag
--------- ------
this is a test | 2
Uma maneira eficaz de conseguir isso no Postgres é empregando uma junção lateral em conjunto com String_to_table () (disponível no Postgres 14). Isso nos permite dividir a coluna "Assunto" em tokens individuais e junte -os à tabela original. De tbl, string_to_table (sujeito, '') como token Onde flag = 2;

Nesta consulta, usamos a junção lateral para gerar um conjunto de linhas para cada token na coluna "sujeito" e filtramos os resultados com base no valor "sinalizador" especificado.

abordagens alternativas

para o PostGres 13 e anterior, Unest (string_to_array (sujeito, ' ')) Pode ser usado em vez de string_to_table (sujeito,' ').
SELECT token, flag
FROM tbl, string_to_table(subject, ' ') AS token
WHERE flag = 2;
Outra abordagem é usar a função regexp_split_to_table (), que permite uma tokenização mais flexível com base em expressões regulares. No entanto, essa abordagem geralmente é mais lenta do que usar string_to_table ().

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3