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 usar el operador INTERSECT de SQL Server para consultar dos o más tablas

Cómo usar el operador INTERSECT de SQL Server para consultar dos o más tablas

Resumen: en este tutorial, aprenderás a usar el operador INTERSECT de SQL Server para combinar los resultados de dos consultas en un único resultado que regresa las filas comunes para ambas consultas. Es decir, funcionaría como un AND lógico: devuelve solo las filas existentes en ambas consultas.

Ver artículo completo
Cómo consultar datos de varias tablas con INNER JOIN de SQL Server

Cómo consultar datos de varias tablas con INNER JOIN de SQL Server

Resumen: en este tutorial, aprenderás a usar la cláusula INNER JOIN de SQL Server para consultar datos de varias tablas.

Ver artículo completo
¿Cómo eliminar las etiquetas html de una cadena en SQL?

¿Cómo eliminar las etiquetas html de una cadena en SQL?

En este artículo pondré un pequeño ejemplo de cómo quitar las etiquetas HTML en SQL. Voy a mostrar una función definida por el usuario en SQL Server que analiza el código HTML y regresa texto plano. Si requieres eliminar las etiquetas HTML de una página este ejemplo te servirá.

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