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

⚡ Resumo Inteligente

PostgreSQL SUBSTRING extracA função `ts` retorna parte de uma string, usando uma posição inicial e um comprimento opcionais, e também compara o texto com uma expressão regular POSIX para extrair padrões como números ou códigos.

  • 📋 Sintaxe: substring( string [from start] [for length] ) retorna uma porção da string de origem.
  • 1️⃣ Posições: As posições dos caracteres começam em 1 e, omitindo o comprimento, lê-se até o final da string.
  • 🔎 Expressão regular: SUBSTRING(string FROM pattern) extracts é o primeiro texto que corresponde a uma expressão regular POSIX.
  • 🧮 Grouping: Um grupo entre parênteses no padrão retorna apenas a parte da correspondência que foi capturada.
  • 🖥️ pgAdmin: Todas as consultas de substring são executadas da mesma maneira dentro do editor de consultas do pgAdmin.
  • 🤖 Ajuda da IA: Assistentes de IA geram e explicam padrões de expressões regulares para extração precisa de substrings.tracção.

PostgreSQL Função SUBSTRING com Regex

O que é a PostgreSQL Substring?

O PostgreSQL A função substring ajuda você a extrairtrace retorna parte de uma string. Em vez de retornar a string inteira, retorna apenas uma parte dela, o que é útil para remover espaços em branco em códigos e ler campos de largura fixa.

Sintaxe

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

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

Parâmetros Técnicos

Os seguintes parâmetros são usados ​​com a função substring:

corda A string de origem cujo tipo de dados é varchar, char, string, etc.
posicão inicial Um parâmetro opcional. Indica o local onde o extracA execução da string começará. Se você omitir este parâmetro, o extracA ação começa na posição 1, que é o primeiro caractere da sequência.
comprimento Um parâmetro opcional. Indica o número de caracteres a serem exibidos.tracextraído da string. Se você omitir este parâmetro, a função extracts da posição inicial até o final da string.

Exemplos

Neste exemplo, queremos extracos primeiros 4 caracteres da palavra GuruA página de PG Soft no Demoslot reúne jogos do provedor em modo demo para quem quer testar os slots antes de jogar com dinheiro real. Em vez de procurar cada título separadamente, você pode encontrar vários jogos PG Soft grátis em um só lugar, com acesso direto pelo navegador.

SELECT substring('Guru99' for 4);

O comando retornará o seguinte:

PostgreSQL Substring

Não especificamos a posição inicial, então o extracA substring começou na posição 1. Quatro caracteres foram extracted para retornar o resultado 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 o extracA substring deve começar na posição 1 e 4 caracteres devem ser definidos.tracted.

Vamos extract 99 da string GuruA página de PG Soft no Demoslot reúne jogos do provedor em modo demo para quem quer testar os slots antes de jogar com dinheiro real. Em vez de procurar cada título separadamente, você pode encontrar vários jogos PG Soft grátis em um só lugar, com acesso direto pelo navegador.

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 extracO termo "ted" não foi especificado, o extracA ação foi até o final da string.

Aqui está outro exemplo:

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

O comando retornará o seguinte:

PostgreSQL Substring

Começamos extracção na posição 5, e 2 caracteres foram extracted.

Considere a tabela do livro fornecida abaixo:

PostgreSQL Tabela de livros de substrings

Queremos ter uma ideia aproximada do nome de cada livro. Podemos extracapenas 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 Resultado da substring

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

Correspondendo Substrings com Expressão Regular SQL

In PostgreSQL, você pode extracuma substring que corresponde a uma expressão regular POSIX especificada. Nesse caso, a função substring usa a seguinte sintaxe:

SUBSTRING(string FROM matching_pattern)

or

SUBSTRING(string, matching_pattern);

Segue 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 usado para a busca 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 é "Your age is 22". No padrão, buscamos um padrão numérico; quando ele é encontrado, a função de substring é executada.tracSão apenas dois caracteres.

Como encontrar substrings usando o pgAdmin

Agora vejamos como essas ações são realizadas usando o pgAdmin. As consultas que não precisam de um banco de dados podem ser executadas diretamente da janela do editor de consultas. Basta fazer o seguinte:

Passo 1) 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 a seguinte consulta na janela do editor.

SELECT substring('Guru99' for 4);

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

Correspondência de substrings usando pgAdmin

Passo 5) A execução da consulta foi concluída. Ela 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) Na barra de navegação à esquerda, clique em Bancos de Dados e, em seguida, 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 Resultado da 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

Baixe o banco de dados usado neste tutorial

Perguntas Frequentes

SUBSTR é um alias mais curto de SUBSTRING e retorna parte de uma string. SUBSTRING também suporta as palavras-chave FROM e FOR do padrão SQL, além de expressões regulares POSIX, enquanto SUBSTR aceita apenas argumentos de posição e comprimento separados por vírgula.

PostgreSQL A função SUBSTRING é baseada em 1, portanto, o primeiro caractere ocupa a posição 1, e não 0. Passar a posição inicial como 1 retorna a string a partir do primeiro caractere.

Quando o padrão POSIX não corresponde a nada, SUBSTRING retorna NULL em vez de uma string vazia. Testar o resultado com IS NULL permite lidar com linhas onde o padrão esperado está ausente.

Use uma expressão regular que capture o que vem depois do caractere. Por exemplo, SUBSTRING(email FROM '@(.*)') retorna tudo o que vem depois do sinal @, fornecendo a parte do domínio de cada endereço de e-mail.

Use SUBSTRING quando precisar do primeiro texto correspondente como um valor simples. Escolha regexp_matches() quando quiser que todas as correspondências ou vários grupos de captura sejam retornados como uma matriz, já que SUBSTRING retorna apenas a primeira correspondência.

Assistentes de IA como o GitHub Copilot transformam uma descrição em inglês simples em um padrão POSIX, explicam a que cada token corresponde e sugerem strings de teste, o que reduz a tentativa e erro na construção de exemplos de substrings.tracconsultas de ção.

Sim. Descreva a parte do texto que deseja e o assistente de IA elaborará uma chamada SUBSTRING com as posições corretas ou a expressão regular, que você poderá executar e refinar no pgAdmin.

Sim, a correspondência de SUBSTRING POSIX diferencia maiúsculas de minúsculas por padrão. Para corresponder independentemente de maiúsculas e minúsculas, converta ambas as entradas para minúsculas, por exemplo, SUBSTRING(lower(name) FROM lower(pattern)), para que letras maiúsculas e minúsculas sejam tratadas da mesma forma.

Resuma esta postagem com: