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
-
Busca livre só por texto
relatório anual
→ retorna tudo que seja foneticamente relacionado a “relatório anual”.
-
Busca com filtro exato
ONDE cnpj = 00000000000000
→ traz só registros com exatamente esse CNPJ.
-
Busca livre + filtro
texto desejado ONDE tipo = J
→ busca “texto desejado” onde o campo
tipo
seja exatamenteJ
. -
Filtro com “contém”
ONDE nome ~ Fulano
→ nome que contenham “fulano” em qualquer parte do texto.
-
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”.
-
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
-
Busca livre só por texto
relatório anual
→ retorna tudo que seja foneticamente relacionado a “relatório anual”.
-
Busca com filtro exato
ONDE cnpj = 00000000000000
→ traz só registros com exatamente esse CNPJ.
-
Busca livre + filtro
texto desejado ONDE tipo = J
→ busca “texto desejado” onde o campo
tipo
seja exatamenteJ
. -
Filtro com “contém”
ONDE nome ~ Fulano
→ nome que contenham “fulano” em qualquer parte do texto.
-
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”.
-
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
-
Filtrar por data exata
ONDE "Data de Criação" = '01/01/2025'
→ traz registros criados exatamente em 1º de janeiro de 2025.
-
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.
-
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.
-
Data ausente
ONDE "Data de Conclusão" ÉNULO
→ traz registros onde a data de conclusão ainda não foi preenchida.