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:
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:
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:
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:
Iniciamos a extração na posição 5 e 2 caracteres foram extraídos.
Considere a tabela do livro fornecida abaixo:
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:
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:
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.
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.
Passo 5) A execução da consulta está concluída.
Deve retornar o seguinte:
2 exemplo:
SELECT substring('Guru99' from 1 for 4);
Deve retornar o seguinte:
Aqui está o próximo exemplo:
SELECT substring('Guru99' from 5);
Deve retornar o seguinte:
3 exemplo:
SELECT substring('Guru99' from 5 for 2);
Deve retornar o seguinte:
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)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
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.
Deve retornar o seguinte:
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.
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.
Deve retornar o seguinte:
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