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 SUBSTRING

A função SUBSTRING do PostgreSQL é usada para extrair uma parte de uma string com base em índices especificados. Essa função é essencial para lidar com a manipulação de strings e tarefas de análise de dados em um banco de dados.

Uso

A função SUBSTRING é usada quando você precisa extrair partes de uma cadeia de caracteres, como recuperar uma parte de um campo de texto ou analisar formatos de dados específicos. Ele é usado com frequência em tarefas de transformação e preparação de dados.

SUBSTRING(string FROM start [FOR length])

Nessa sintaxe, string é a cadeia de caracteres de origem, start indica a posição inicial e length é o número de caracteres a serem extraídos. Se length for omitido, a substring se estenderá até o final da cadeia de caracteres.

Exemplos

1. Extração básica de substring

SELECT SUBSTRING('PostgreSQL Tutorial' FROM 1 FOR 10);

Este exemplo extrai os primeiros 10 caracteres da string, resultando na saída: 'PostgreSQL'.

2. Substring sem comprimento especificado

SELECT SUBSTRING('Database Management' FROM 10);

Aqui, a substring começa a partir do 10º caractere e continua até o final, resultando em: 'Management'.

3. Substring com correspondência de padrões

SELECT SUBSTRING('abc123def456' FROM '[0-9]+');

Este exemplo usa uma expressão regular para extrair a primeira sequência de dígitos da cadeia de caracteres, resultando em: '123'.

4. Caso de ponta: Início excede o comprimento da cadeia de caracteres

SELECT SUBSTRING('Short' FROM 10 FOR 5);

Quando a posição start excede o comprimento da string, o resultado é uma string vazia: ''.

5. Caso de ponta: Índices negativos

SELECT SUBSTRING('Negative Test' FROM -5);

O uso de índices negativos resultará em um erro, pois start deve ser um número inteiro positivo.

Dicas e práticas recomendadas

  • Fique atento aos índices. O PostgreSQL usa indexação baseada em 1, o que significa que a contagem começa em 1, não em 0.
  • Utilize expressões regulares. Use padrões regex para tarefas mais complexas de extração de strings para corresponder a padrões específicos.
  • Combine com outras funções. Use SUBSTRING juntamente com outras funções de cadeia de caracteres, como TRIM ou LENGTH, para uma manipulação de cadeia de caracteres mais robusta.
  • Evite extrações desnecessárias. Certifique-se de que os parâmetros start e length sejam precisos para evitar erros ou resultados inesperados.
  • Considerações sobre o desempenho. Tenha cuidado ao usar SUBSTRING em consultas que processam grandes conjuntos de dados, pois isso pode afetar o desempenho.
  • Funções relacionadas. Considere usar LEFT ou RIGHT quando você precisar extrair um número fixo de caracteres do início ou do fim de uma cadeia de caracteres, respectivamente.