Pular para o conteúdo principal
Documentos
Sintaxe básicaFunções JSONAcionadoresGerenciamento de tabelas e esquemasFunções de cadeia de caracteresFunções matemáticasFunções de dataBancos de dadosÍndices

PostgreSQL SPLIT_PART

A função `SPLIT_PART` no PostgreSQL é utilizada para dividir uma string em partes com base em um delimitador especificado e retorna a parte especificada. É uma função útil para analisar e extrair segmentos específicos de uma cadeia de caracteres.

Uso

A função `SPLIT_PART` é utilizada quando você precisa recuperar uma parte específica de uma cadeia de caracteres que está separada por um delimitador. É especialmente útil para lidar com cadeias de caracteres estruturadas, como dados CSV.

sql
SPLIT_PART(string, delimiter, field)

Nessa sintaxe, `string` e `delimiter` devem ser do tipo de dados `text` ou implicitamente convertíveis em `text`. `string` é a cadeia de caracteres de origem a ser dividida, `delimiter` é o caractere ou a cadeia de caracteres que separa as partes e `field` é o índice baseado em 1 da parte a ser retornada. A função retorna um tipo `texto`.

Exemplos

1. Uso básico do SPLIT_PART

sql
SELECT SPLIT_PART('apple,banana,cherry', ',', 2);

Este exemplo extrai o segundo elemento, `banana`, da lista separada por vírgulas.

2. Extração de domínio de e-mail

sql
SELECT SPLIT_PART('user@example.com', '@', 2);

Aqui, a função recupera a parte do domínio, `example.com`, do endereço de e-mail.

3. Analisando números de versão

sql
SELECT SPLIT_PART('Version 10.2.5', '.', 3);

Este exemplo extrai o terceiro segmento, `5`, de uma string de número de versão, demonstrando sua aplicação na análise de números de versão. Se o índice do campo especificado estiver fora do intervalo, a função retornará uma cadeia de caracteres vazia.

4. Extração da última parte de uma cadeia de caracteres

sql
SELECT SPLIT_PART('file.tar.gz', '.', 3);

Para extrair a última parte de uma cadeia de caracteres, você pode calcular o número de partes primeiro e, em seguida, usar `SPLIT_PART` para recuperar a última parte.

Dicas e práticas recomendadas

  • Verifique se o delimitador existe. Antes de usar o `SPLIT_PART`, verifique se o delimitador está presente na cadeia de caracteres para evitar resultados inesperados. Se o delimitador não for encontrado, a cadeia inteira será retornada como o primeiro campo.
  • Use com cadeias de caracteres estruturadas. Ideal para cadeias de caracteres com delimitadores consistentes, como CSV ou entradas de registro.
  • Observe o índice. O argumento `field` é baseado em 1 e não em 0, portanto, tenha cuidado ao especificar a parte a ser extraída.
  • Manuseie as peças que estão faltando. Esteja preparado para que o `SPLIT_PART` retorne uma cadeia de caracteres vazia se a parte solicitada não existir.
  • Entenda as limitações. O `SPLIT_PART` não oferece suporte a índices negativos, ao contrário de outras linguagens.
  • Considerações sobre o desempenho. O `SPLIT_PART` não é adequado para a análise baseada em delimitadores de dados de texto muito grandes devido às possíveis implicações de desempenho.