Manual da Linguagem de Consulta para Usuário Final

Introdução

Esta linguagem permite fazer buscas simples e condicionais em seus dados, combinando termos livres com filtros (condições) de forma intuitiva. Você pode:

  • Digitar apenas palavras-chave para busca livre (fonética).
  • Adicionar condições de filtragem usando a palavra reservada ONDE seguida de uma expressão de comparação.
  • Combinar múltiplas condições com E, OU, e até negar uma condição com NÃO.

Estrutura básica

Uma consulta pode ser:

[texto livre] ONDE [condição]

Ou apenas:

[texto livre]
  • texto livre: qualquer sequência de letras e números; serve para buscas fonéticas.
  • ONDE: inicia a seção de filtro.
  • condição: especifica um campo, um operador e um valor para filtrar.

Termos principais

Símbolo / Palavra Significado
ONDE Começa o filtro de condição
=, <, >, <=, >= Comparações numéricas ou textuais exatas
~ ou CONTEM “contém” (busca parcial, sem distinguir maiúsculas)
É “é igual a” (textual, sem distinguir maiúsculas)
INICIA COM valor começa com…
TERMINA COM valor termina com…
ÉNULO campo que está vazio/nulo
E, OU lógica para combinar condições
NÃO nega a condição que segue

Como montar uma condição

Uma condição tem sempre três partes (exceto para ÉNULO ou NÃO):

[Campo] [Operador] [Valor]
  • Campo: nome da coluna ou atributo (ex.: nome, cnpj, tipo).
  • Operador: veja a tabela acima.
  • Valor: texto ou número; se for texto com espaços ou caracteres especiais, coloque entre aspas simples ('valor complexo').

Exemplos de operadores

Operador O que faz Exemplo de uso
= igual exato cnpj = 12345678901234
~ ou CONTEM contém (case-insensitive) nome ~ Fulano
É igual exato (case-insensitive) status É ativo
< > <= >= comparação numérica idade > 18
INICIA COM começa com cidade INICIA COM Rio
TERMINA COM termina com email TERMINA COM .com
ÉNULO valor vazio/nulo telefone ÉNULO

Combinações lógicas

Para juntar várias condições, use:

  • E — todas as condições devem ser verdadeiras
  • OU — pelo menos uma condição deve ser verdadeira
  • NÃO — inverte o resultado da condição

Você pode usar parênteses para controlar a precedência:

ONDE (tipo = J E status É ativo) OU (tipo = F E NÃO status É inativo)

Exemplos completos

  1. Busca livre só por texto

    relatório anual
    

    → retorna tudo que seja foneticamente relacionado a “relatório anual”.

  2. Busca com filtro exato

    ONDE cnpj = 00000000000000
    

    → traz só registros com exatamente esse CNPJ.

  3. Busca livre + filtro

    texto desejado ONDE tipo = J
    

    → busca “texto desejado” onde o campo tipo seja exatamente J.

  4. Filtro com “contém”

    ONDE nome ~ Fulano
    

    → nome que contenham “fulano” em qualquer parte do texto.

  5. Múltiplas condições

    ONDE idade > 18 E cidade INICIA COM São
    

    → pessoas maiores de 18 anos que moram em cidades começando com “São”.

  6. Negação de condição

    ONDE NÃO (status É inativo)
    

    → registros cujo status não seja “inativo”.


Dicas e boas práticas

  • Se o valor for texto e contiver espaços, use aspas simples:

    ONDE "nome completo" CONTEM 'Maria Silva'
    
  • Para campo ou valor com caracteres especiais ou nomes compostos, coloque-os entre aspas:

    ONDE "Data de Criação" >= '01/01/2025'
    
  • Agrupe condições complexas com parênteses para evitar ambiguidades.

  • Lembre-se de usar E e OU com critério: demasiados filtros podem limitar demais os resultados.

Introdução

Esta linguagem permite fazer buscas simples e condicionais em seus dados, combinando termos livres com filtros (condições) de forma intuitiva. Você pode:

  • Digitar apenas palavras-chave para busca livre (fonética).
  • Adicionar condições de filtragem usando a palavra reservada ONDE seguida de uma expressão de comparação.
  • Combinar múltiplas condições com E, OU, e até negar uma condição com NÃO.

Estrutura básica

Uma consulta pode ser:

[texto livre] ONDE [condição]

Ou apenas:

[texto livre]
  • texto livre: qualquer sequência de letras e números; serve para buscas fonéticas.
  • ONDE: inicia a seção de filtro.
  • condição: especifica um campo, um operador e um valor para filtrar.

Termos principais

Símbolo / Palavra Significado
ONDE Começa o filtro de condição
=, <, >, <=, >= Comparações numéricas ou textuais exatas
~ ou CONTEM “contém” (busca parcial, sem distinguir maiúsculas)
É “é igual a” (textual, sem distinguir maiúsculas)
INICIA COM valor começa com…
TERMINA COM valor termina com…
ÉNULO campo que está vazio/nulo
E, OU lógica para combinar condições
NÃO nega a condição que segue

Como montar uma condição

Uma condição tem sempre três partes (exceto para ÉNULO ou NÃO):

[Campo] [Operador] [Valor]
  • Campo: nome da coluna ou atributo (ex.: nome, cnpj, tipo).
  • Operador: veja a tabela acima.
  • Valor: texto ou número; se for texto com espaços ou caracteres especiais, coloque entre aspas simples ('valor complexo').

Exemplos de operadores

Operador O que faz Exemplo de uso
= igual exato cnpj = 12345678901234
~ ou CONTEM contém (case-insensitive) nome ~ Fulano
É igual exato (case-insensitive) status É ativo
< > <= >= comparação numérica idade > 18
INICIA COM começa com cidade INICIA COM Rio
TERMINA COM termina com email TERMINA COM .com
ÉNULO valor vazio/nulo telefone ÉNULO

Combinações lógicas

Para juntar várias condições, use:

  • E — todas as condições devem ser verdadeiras
  • OU — pelo menos uma condição deve ser verdadeira
  • NÃO — inverte o resultado da condição

Você pode usar parênteses para controlar a precedência:

ONDE (tipo = J E status É ativo) OU (tipo = F E NÃO status É inativo)

Exemplos completos

  1. Busca livre só por texto

    relatório anual
    

    → retorna tudo que seja foneticamente relacionado a “relatório anual”.

  2. Busca com filtro exato

    ONDE cnpj = 00000000000000
    

    → traz só registros com exatamente esse CNPJ.

  3. Busca livre + filtro

    texto desejado ONDE tipo = J
    

    → busca “texto desejado” onde o campo tipo seja exatamente J.

  4. Filtro com “contém”

    ONDE nome ~ Fulano
    

    → nome que contenham “fulano” em qualquer parte do texto.

  5. Múltiplas condições

    ONDE idade > 18 E cidade INICIA COM São
    

    → pessoas maiores de 18 anos que moram em cidades começando com “São”.

  6. Negação de condição

    ONDE NÃO (status É inativo)
    

    → registros cujo status não seja “inativo”.


Dicas e boas práticas

  • Se o valor for texto e contiver espaços, use aspas simples:

    ONDE "nome completo" CONTEM 'Maria Silva'
    
  • Para campo ou valor com caracteres especiais ou nomes compostos, coloque-os entre aspas:

    ONDE "Data de Criação" >= '01/01/2025'
    
  • Agrupe condições complexas com parênteses para evitar ambiguidades.

  • Lembre-se de usar E e OU com critério: demasiados filtros podem limitar demais os resultados.

Filtrando por datas

Você pode usar datas nos filtros da mesma forma que números ou textos, sempre no formato DD/MM/AAAA (dia/mês/ano).

Operadores válidos para data:

Operador O que faz Exemplo de uso
= exatamente nesta data ONDE data = '16/05/2025'
< antes desta data ONDE data < '01/01/2024'
> depois desta data ONDE data > '31/12/2023'
<= nesta data ou antes ONDE data <= '01/05/2025'
>= nesta data ou depois ONDE data >= '01/05/2025'
ÉNULO data está vazia/nula ONDE data ÉNULO

Importante: datas devem sempre estar entre aspas simples (') para evitar erros de interpretação.

Exemplos com datas

  1. Filtrar por data exata

    ONDE "Data de Criação" = '01/01/2025'
    

    → traz registros criados exatamente em 1º de janeiro de 2025.

  2. Buscar registros após uma data

    ONDE "Data de Vencimento" > '15/03/2025'
    

    → retorna tudo com vencimento após 15 de março de 2025.

  3. Intervalo entre duas datas

    ONDE "Data de Envio" >= '01/01/2025' E "Data de Envio" <= '31/01/2025'
    

    → registros enviados entre 1º e 31 de janeiro de 2025.

  4. Data ausente

    ONDE "Data de Conclusão" ÉNULO
    

    → traz registros onde a data de conclusão ainda não foi preenchida.