PostgreSQL Função SUBSTRING() com exemplo de Regex

O que é o PostgreSQL Substring?

A PostgreSQL A função substring ajuda você a extrair e retornar parte de uma string. Em vez de retornar a string inteira, ele retorna apenas uma parte dela.

Sintaxe

A PostgreSQL A função substring adota a seguinte sintaxe:

substring( string [from starting_position] [for length] )

parâmetros

Nome Descrição
corda A string de origem cujo tipo de dados é varchar, char, string, etc.
posicão inicial É um parâmetro opcional. Denota o local onde começará a extração do barbante. Se você omitir este parâmetro, a extração começará a partir da posição 1, que é o primeiro caractere da string.
comprimento É um parâmetro opcional. Denota o número de caracteres a serem extraídos da string. Se você omitir este parâmetro, a função extrairá de posição_inicial até o final da string.

Exemplos

Neste exemplo, queremos extrair os primeiros 4 caracteres da palavra Guru99:

SELECT substring('Guru99' for 4);

O comando retornará o seguinte:

PostgreSQL Substring

Não especificamos a posição inicial, portanto a extração da substring começa na posição 1. 4 caracteres foram extraídos para retornar o acima.

O exemplo a seguir mostra como especificar a posição inicial:

SELECT substring('Guru99' from 1 for 4);

O comando retornará o seguinte:

PostgreSQL Substring

Especificamos que a extração da substring deve começar na posição 1 e 4 caracteres devem ser extraídos.

Vamos extrair 99 da string Guru99:

SELECT substring('Guru99' from 5);

O comando retornará o seguinte:

PostgreSQL Substring

Especificamos a posição inicial como 5. Como o número de caracteres a serem extraídos não foi especificado, a extração foi executada até o final da string.

Aqui está outro exemplo:

SELECT substring('Guru99' from 5 for 2);

O comando retornará o seguinte:

PostgreSQL Substring

Iniciamos a extração na posição 5 e 2 caracteres foram extraídos.

Considere a tabela do livro fornecida abaixo:

PostgreSQL Substring

Queremos ter uma ideia aproximada sobre o nome de cada livro. Entretanto, podemos extrair apenas os primeiros 15 caracteres da coluna de nome da tabela:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

O comando retornará o seguinte:

PostgreSQL Substring

Agora temos uma ideia aproximada sobre o nome de cada livro.

Correspondendo Substrings com Expressão Regular SQL

In PostgreSQL, podemos extrair uma substring que corresponda a uma expressão regular POSIX especificada. Nesse caso, a função substring é usada com a seguinte sintaxe:

SUBSTRING(string FROM matching_pattern)

or

SUBSTRING(string, matching_pattern);

Aqui está uma explicação dos parâmetros acima:

A string é a string de origem cujo tipo de dados é varchar, char, string, etc.

Omatch_pattern é o padrão a ser usado para pesquisar na string.

Exemplos

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

O comando retornará o seguinte:

Correspondendo Substrings com Expressão Regular SQL

Nossa string de entrada é sua idade é 22. No padrão, estamos procurando por um padrão numérico em nossa string, quando isso for encontrado, a função substring deve extrair apenas dois caracteres.

Como combinar substrings usando pgAdmin

Agora vamos ver como as ações são executadas usando o pgAdmin.

As consultas acima, onde não precisamos de um banco de dados, podem ser executadas diretamente na janela do editor de consultas. Basta fazer o seguinte:

Passo 1) Acesse sua conta.
Faça login em sua conta pgAdmin.

Passo 2) No pgAdmin,
Clique no ícone da Ferramenta de consulta.

Correspondência de substrings usando pgAdmin

A janela do editor de consultas será aberta.

Passo 3) Digite consulta.
Digite a seguinte consulta na janela do editor.

SELECT substring('Guru99' for 4);

Passo 4) Executar consulta
Clique no ícone Executar para executar a consulta.

Correspondência de substrings usando pgAdmin

Passo 5) A execução da consulta está concluída.
Deve retornar o seguinte:

Correspondência de substrings usando pgAdmin

2 exemplo:

SELECT substring('Guru99' from 1 for 4);

Deve retornar o seguinte:

Correspondência de substrings usando pgAdmin

Aqui está o próximo exemplo:

SELECT substring('Guru99' from 5);

Deve retornar o seguinte:

Correspondência de substrings usando pgAdmin

3 exemplo:

SELECT substring('Guru99' from 5 for 2);

Deve retornar o seguinte:

Correspondência de substrings usando pgAdmin

Agora, vamos executar o exemplo usando a tabela Book do banco de dados Demo:

Passo 1) Faça login em sua conta pgAdmin.

Passo 2)

  1. Na barra de navegação à esquerda, clique em Bancos de dados.
  2. Clique em Demonstração.

Correspondência de substrings usando pgAdmin

Passo 3) Digite a consulta no editor de consultas:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

Passo 4) Clique no botão Executar.

Correspondência de substrings usando pgAdmin

Deve retornar o seguinte:

PostgreSQL Substring

Agora temos uma ideia básica do nome de cada livro.

Correspondendo Substrings com Expressão Regular SQL

Para fazer o mesmo no pgAdmin, faça o seguinte:

Passo 1) Faça login em sua conta pgAdmin.

Passo 2) Clique no ícone da Ferramenta de consulta.

Correspondendo Substrings com Expressão Regular SQL

A janela do editor de consultas será aberta.

Passo 3) Digite a seguinte consulta na janela do editor.

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

Passo 4) Clique no ícone Executar para executar a consulta.

Correspondendo Substrings com Expressão Regular SQL

Deve retornar o seguinte:

Correspondendo Substrings com Expressão Regular SQL

Resumo

  • A PostgreSQL A função Substring ajuda a extrair e retornar apenas uma parte de uma string.
  • O primeiro caractere da string está na posição 1.
  • Se o número de caracteres a serem extraídos da string não for especificado, a função extrairá caracteres da posição inicial especificada até o final da string.
  • Se o número de caracteres a serem extraídos for especificado, somente esse número de caracteres será extraído.

Baixe o banco de dados usado neste tutorial