Pular para o conteúdo principal
Documentos
Sintaxe básicaFunções JSONAcionadoresGerenciamento de tabelas e esquemasFunções de cadeia de caracteresFunções matemáticasFunções de dataBancos de dadosÍndices

PostgreSQL BETWEEN

O operador `BETWEEN` no PostgreSQL é utilizado para filtrar o conjunto de resultados em um intervalo de valores especificado. Ele é inclusivo, o que significa que ambos os valores de limite são considerados parte do intervalo.

Uso
O operador `BETWEEN` é normalmente usado em cláusulas `WHERE` para selecionar valores dentro de um intervalo específico. Ele pode ser aplicado a tipos de dados numéricos, de texto e de data.

SELECT column_name
FROM table_name
WHERE column_name BETWEEN lower_bound AND upper_bound;

Nessa sintaxe, `column_name` é verificado para ver se seus valores estão dentro de `lower_bound` e `upper_bound`. Observe que, se `column_name` for `NULL`, o resultado de `BETWEEN` também será `NULL`, excluindo efetivamente essas linhas do conjunto de resultados.

Exemplos

1. Intervalo numérico básico

SELECT *
FROM products
WHERE price BETWEEN 10 AND 20;

Essa consulta recupera todos os registros da tabela `produtos` em que o `preço` está entre 10 e 20, inclusive.

2. Intervalo de datas

SELECT order_id, order_date
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';

Este exemplo filtra os pedidos feitos no ano de 2023, verificando se `order_date` está dentro do intervalo de datas especificado.

3. Faixa de texto

SELECT employee_id, last_name
FROM employees
WHERE last_name BETWEEN 'A' AND 'M';

Essa consulta seleciona funcionários cujos sobrenomes começam com letras que variam de "A" a "M". O intervalo é determinado pela ordenação lexicográfica, o que significa que a comparação é baseada na sequência alfabética de caracteres.

Dicas e práticas recomendadas

  • Limites inclusivos. Lembre-se de que `BETWEEN` inclui os valores de limite; se você precisar de limites exclusivos, considere o uso de `>`, `<`, `>=` ou `<=`.
  • Tipos de dados consistentes. Certifique-se de que os tipos de dados da coluna e os limites sejam compatíveis para evitar erros.
  • Use com funções de data. Combine `BETWEEN` com funções de data como `CURRENT_DATE` para obter intervalos de datas dinâmicos.
  • Considere o desempenho. Em conjuntos de dados grandes, certifique-se de que a coluna usada com `BETWEEN` seja indexada para melhorar o desempenho da consulta.
  • Uso da função Cuidado. Tenha cuidado ao usar funções na coluna dentro da cláusula `BETWEEN`, pois isso pode anular os benefícios da indexação e afetar o desempenho.