SQL

Cómo filtrar por un rango de fechas en SQL Server con el operador BETWEEN

Estrada Web Group
Estrada Web Group

Resumen: en este tutorial, aprenderá a usar el operador BETWEEN de SQL Server para especificar un rango para probar.

Introducción general del operador BETWEEN de SQL Server

La sentencia u operador BETWEEN de SQL te permite probar fácilmente si una expresión está dentro de un rango de valores. Los valores pueden ser texto, fechas o números. Se puede usar en una instrucción SELECT, INSERT, UPDATE o DELETE. La condición BETWEEN de SQL devolverá los registros donde la expresión está dentro del rango de valor1 y valor2 y se utiliza en la cláusula WHERE.

Sintaxis de SQL BETWEEN

SELECT columna1
FROM tabla
WHERE columna1 BETWEEN valor1 AND valor2;

En esta sintaxis:

  •      Primero, especificas la columna o expresión a probar.
  •      En segundo lugar, debes colocar valor1 y valor2 entre las palabras clave BETWEEN y AND. valor1, valor2 y la columna1 a probar deben tener el mismo tipo de datos.

El operador BETWEEN devuelve TRUE si la expresión a probar es mayor o igual que el valor de valor1 y menor o igual que el valor de valor2.

Ejemplos

Considera la siguiente tabla de Employees, la cual forma parte de la base de datos Northwind que hemos estado utilizando y la puedes descargar en esta liga.

select EmployeeID, LastName, FirstName, Title, BirthDate, ReportsTo from Employees
EmployeeID LastName FirstName Title BirthDate ReportsTo
1 Davolio Nancy Sales Representative 1948-12-08T00:00:00 2
2 Fuller Andrew Vice President, Sales 1952-02-19T00:00:00 0
3 Leverling Janet Sales Representative 1963-08-30T00:00:00 2
4 Peacock Margaret Sales Representative 1937-09-19T00:00:00 2
5 Buchanan Steven Sales Manager 1955-03-04T00:00:00 2
6 Suyama Michael Sales Representative 1963-07-02T00:00:00 5
7 King Robert Sales Representative 1960-05-29T00:00:00 5
8 Callahan Laura Inside Sales Coordinator 1958-01-09T00:00:00 2
9 Dodsworth Anne Sales Representative 1966-01-27T00:00:00 5

Uso del BETWEEN con valores numéricos

Obtendremos una lista de todos los empleados EmployeeID, LastName, FirstName, Title, BirthDate, ReportsT que tiene un valor en ReportsT entre 3 y 8.

select EmployeeID, LastName, FirstName, Title, BirthDate, ReportsTo from Employees
where ReportsTo BETWEEN 3 and 8
EmployeeID LastName FirstName Title BirthDate ReportsTo
6 Suyama Michael Sales Representative 1963-07-02T00:00:00 5
7 King Robert Sales Representative 1960-05-29T00:00:00 5
9 Dodsworth Anne Sales Representative 1966-01-27T00:00:00 5

Usando BETWEEN con campos tipo fecha

Encuentre a todos los empleados que tengan fecha de nacimiento entre el 01-01-1920 y el 12-12-1950.

select EmployeeID, LastName, FirstName, Title, BirthDate, ReportsTo from Employees
where BirthDate BETWEEN '01-01-1920' and '12-12-1960'
EmployeeID LastName FirstName Title BirthDate ReportsTo
1 Davolio Nancy Sales Representative 1948-12-08T00:00:00 2
2 Fuller Andrew Vice President, Sales 1952-02-19T00:00:00 0
4 Peacock Margaret Sales Representative 1937-09-19T00:00:00 2
5 Buchanan Steven Sales Manager 1955-03-04T00:00:00 2
7 King Robert Sales Representative 1960-05-29T00:00:00 5
8 Callahan Laura Inside Sales Coordinator 1958-01-09T00:00:00 2

 

Usando el operador NOT con BETWEEN

Encuentre todos los empleados cuyo ID no esté en el rango de 5 y 50.

select EmployeeID, LastName, FirstName, Title, BirthDate, ReportsTo from Employees
where EmployeeID BETWEEN 5 and 50
EmployeeID LastName FirstName Title BirthDate ReportsTo
5 Buchanan Steven Sales Manager 1955-03-04T00:00:00 2
6 Suyama Michael Sales Representative 1963-07-02T00:00:00 5
7 King Robert Sales Representative 1960-05-29T00:00:00 5
8 Callahan Laura Inside Sales Coordinator 1958-01-09T00:00:00 2
9 Dodsworth Anne Sales Representative 1966-01-27T00:00:00 5

 

Enviame tus comentarios y observaciones si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado en este artículo.

 

Compartir artículo:

Más artículos geniales

¿Cómo obtener datos distintos en SQL Server con SQL Distinct?

¿Cómo obtener datos distintos en SQL Server con SQL Distinct?

En SQL Server, la palabra clave DISTINCT se usa en la instrucción SELECT para recuperar valores únicos de una tabla de base de datos, es decir que no obtengamos valores repetidos. Cualquier valor duplicado solo aparecerá una vez.

Ver artículo completo
Cómo crear los índices únicos de SQL Server con CREATE UNIQUE INDEX

Cómo crear los índices únicos de SQL Server con CREATE UNIQUE INDEX

Resumen: en este tutorial, aprenderás sobre los índices únicos de SQL Server y cómo usarlos para imponer la unicidad de los valores en una o más columnas de una tabla.

Ver artículo completo
Cómo usar la expresión NULLIF de SQL Server para devolver NULL si el primer argumento es igual al segundo

Cómo usar la expresión NULLIF de SQL Server para devolver NULL si el primer argumento es igual al segundo

Resumen: en este tutorial, aprenderás a usar la expresión NULLIF de SQL Server para devolver NULL si el primer argumento es igual al segundo.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla