O que é substring PostgreSQL?
A função substring do PostgreSQL ajuda a extrair e retornar parte de uma string. Em vez de retornar a string inteira, ele retorna apenas uma parte dela.
Neste tutorial do PostgreSQL, você aprenderá:
- O que é substring Postgresql?
- Sintaxe
- Exemplos
- Correspondência de substrings com expressão regular SQL
- Usando o pgAdmin
Sintaxe
A função substring do PostgreSQL assume a seguinte sintaxe:
substring( string [from starting_position] [for length] )
Parâmetros
Nome | Descrição |
fragmento | 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á na posição 1, que é o primeiro caractere da string. |
comprimento | É um parâmetro opcional. Ele denota o número de caracteres a serem extraídos da string. Se você omitir este parâmetro, a função irá extrair da posição_inicial para 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 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 de livros fornecida abaixo:
Queremos ter uma ideia aproximada do nome de cada livro. No entanto, podemos extrair apenas os primeiros 15 caracteres da coluna de nome da tabela:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
O comando retornará o seguinte:
Agora temos uma ideia aproximada sobre o nome de cada livro.
Correspondência de substrings com expressão regular SQL
No 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)
ou
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.
O matching_pattern é o padrão a ser usado para pesquisar na string.
Exemplos:
SELECTSUBSTRING ('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 ele for encontrado, a função substring deve extrair apenas dois caracteres.
Usando o pgAdmin
Agora vamos ver como as ações são realizadas usando o pgAdmin.
As consultas acima, nas quais não precisamos de um banco de dados, podem ser executadas diretamente na janela do editor de consultas. Basta fazer o seguinte:
Etapa 1) Faça login em sua conta pgAdmin.
Etapa 2) Clique no ícone Ferramenta de consulta.
A janela do editor de consultas será aberta.
Etapa 3) Digite a consulta a seguir na janela do editor.
SELECT substring('Guru99' for 4);
Etapa 4) Clique no ícone Executar para executar a consulta.
Ele deve retornar o seguinte:
Exemplo 2:
SELECT substring('Guru99' from 1 for 4);
Ele deve retornar o seguinte:
Aqui está o próximo exemplo:
SELECT substring('Guru99' from 5);
Ele deve retornar o seguinte:
Exemplo 3:
SELECT substring('Guru99' from 5 for 2);
Ele deve retornar o seguinte:
Agora, vamos executar o exemplo usando a tabela Book do banco de dados Demo:
Etapa 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demo.
Etapa 3) Digite a consulta no editor de consultas:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Etapa 4) Clique no botão Executar.
Ele deve retornar o seguinte:
Agora temos uma ideia básica do nome de cada livro.
Correspondência de substrings com expressão regular SQL
Para fazer o mesmo no pgAdmin, faça o seguinte:
Etapa 1) Faça login em sua conta pgAdmin.
Etapa 2) Clique no ícone Ferramenta de consulta.
A janela do editor de consultas será aberta.
Etapa 3) Digite a consulta a seguir na janela do editor.
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Etapa 4) Clique no ícone Executar para executar a consulta.
Ele deve retornar o seguinte:
Resumo:
- A função PostgreSQL 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á os caracteres da posição inicial especificada para o final da string.
- Se o número de caracteres a serem extraídos for especificado, apenas esse número de caracteres será extraído.
Baixe o banco de dados usado neste tutorial