Ir al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

PostgreSQL ENTRE

El operador `BETWEEN` de PostgreSQL se utiliza para filtrar el conjunto de resultados dentro de un rango especificado de valores. Es inclusivo, lo que significa que ambos valores límite se consideran parte del intervalo.

Utilización
El operador `BETWEEN` se suele utilizar en las cláusulas `WHERE` para seleccionar valores dentro de un rango específico. Puede aplicarse a tipos de datos numéricos, de texto y de fecha.

SELECT column_name
FROM table_name
WHERE column_name BETWEEN lower_bound AND upper_bound;

En esta sintaxis, se comprueba si los valores de `nombre_columna` están dentro de `límite_inferior` y `límite_superior`. Ten en cuenta que si `nombre_columna` es `NULL`, el resultado de `BETWEEN` también será `NULL`, lo que excluirá esas filas del conjunto de resultados.

Ejemplos

1. Rango numérico básico

SELECT *
FROM products
WHERE price BETWEEN 10 AND 20;

Esta consulta recupera todos los registros de la tabla `productos` en los que el `precio` esté entre 10 y 20, ambos inclusive.

2. Intervalo de fechas

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

Este ejemplo filtra los pedidos realizados en el año 2023 comprobando si `fecha_pedido` está dentro del intervalo de fechas especificado.

3. Rango de texto

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

Esta consulta selecciona a los empleados cuyos apellidos empiezan por letras comprendidas entre la "A" y la "M". El rango se determina por ordenación lexicográfica, lo que significa que la comparación se basa en la secuencia alfabética de caracteres.

Consejos y buenas prácticas

  • Límites inclusivos. Recuerda que `BETWEEN` incluye los valores límite; si necesitas límites exclusivos, considera utilizar `>`, `<`, `>=` o `<=`.
  • Tipos de datos coherentes. Asegúrate de que los tipos de datos de la columna y los límites son compatibles para evitar errores.
  • Utilizar con funciones de fecha. Combina `BETWEEN` con funciones de fecha como `CURRENT_DATE` para obtener intervalos de fechas dinámicos.
  • Considera el Rendimiento. Para conjuntos de datos grandes, asegúrate de que la columna utilizada con `BETWEEN` está indexada para mejorar el rendimiento de la consulta.
  • Función Utilización Precaución. Ten cuidado al utilizar funciones en la columna dentro de la cláusula `BETWEEN`, ya que esto puede anular las ventajas de la indexación y afectar al rendimiento.