Búsqueda de sitios web

SQL entre, MySQL entre fechas, no entre


El operador SQL BETWEEN se usa junto con los operadores SQL IN que se usan de forma secuencial. Los valores se definen como parte del rango BETWEEN y son inclusivos, es decir, los valores que se mencionan en el rango se incluyen en los valores inicial y final. Discutamos en detalle sobre el operador BETWEEN. Como se mencionó anteriormente, el operador BETWEEN se puede usar junto con el valor numérico, el valor de texto y la fecha. Discutiremos los tres en detalle a continuación.

SQL entre sintaxis

SELECT Column(s) FROM table_name WHERE column BETWEEN value1 AND value2;

Usando la sintaxis mencionada anteriormente, podemos definir valores como parte del operador BETWEEN. Además, la sintaxis mencionada anteriormente sigue siendo la misma para el uso con un valor numérico, un valor de texto y un valor de fecha.

Operador SQL BETWEEN para valor numérico

Comprenderemos la sintaxis mencionada anteriormente con más detalle a través de algunos ejemplos de valor numérico. Consideremos la siguiente tabla de Student como ejemplo.

RollNo StudentName StudentGender StudentAge StudentPercent AdmissionDate
1 George M 14 85 2018-01-01
2 Monica F 12 88 2018-01-31
3 Jessica F 13 84 2018-01-15
4 Tom M 11 78 2017-12-15

Estoy usando la base de datos MySQL y aquí está el script para crear e insertar registros de ejemplo en la tabla Student.

CREATE TABLE `Student` (
  `rollno` int(11) unsigned NOT NULL,
  `studentname` varchar(20) DEFAULT NULL,
  `studentgender` varchar(5) DEFAULT NULL,
  `studentage` int(3) DEFAULT NULL,
  `studentpercent` int(3) DEFAULT NULL,
  `admissiondate` date DEFAULT NULL,
  PRIMARY KEY (`rollno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `Student` (`rollno`, `studentname`, `studentgender`, `studentage`, `studentpercent`, `admissiondate`)
VALUES
	(1, 'George', 'M', 14, 85, '2018-01-01'),
	(2, 'Monica', 'F', 12, 88, '2018-01-31'),
	(3, 'Jessica', 'F', 13, 84, '2018-01-15'),
	(4, 'Tom', 'M', 11, 78, '2017-12-15');

Escenario: Obtenga el porcentaje de estudiantes cuya edad está entre 11 y 13 años.

SELECT StudentPercent FROM Student WHERE StudentAge BETWEEN 11 AND 13;

Producción:

StudentPercent
88
84
78

Operador SQL NO ENTRE para valor numérico

El operador SQL NOT BETWEEN se usa para obtener los valores como parte del conjunto de resultados que está fuera del rango especificado por el operador BETWEEN. Escenario: Obtenga el porcentaje de estudiantes cuya edad no está entre 11 y 13 años.

SELECT StudentPercent FROM Student WHERE StudentAge NOT BETWEEN 11 AND 13;

Producción:

StudentPercent
85

Operador SQL BETWEEN para valor de texto

Escenario: obtenga RollNo, StudentName y StudentAge donde StudentName está entre George y Jessica.

SELECT RollNo, StudentName, StudentAge FROM Student WHERE StudentName BETWEEN 'George' AND 'Jessica';

Producción:

RollNo StudentName StudentAge
1 George 14
3 Jessica 13

Operador SQL NO ENTRE para valor de texto

Escenario: Obtenga RollNo, StudentName y StudentAge donde StudentName no está entre George y Jessica.

SELECT RollNo, StudentName, StudentAge FROM Student WHERE StudentName NOT BETWEEN 'George' AND 'Jessica';

Producción:

RollNo StudentName StudentAge
2 Monica 12
4 Tom 11

Operador SQL BETWEEN para valor de fecha

Escenario: Obtenga la edad de los estudiantes cuya admisión es entre el 1 de enero de 2018 y el 31 de enero de 2018.

SELECT StudentAge FROM Student WHERE admissiondate BETWEEN str_to_date('2018-01-01', '%Y-%m-%d') AND '2018-01-31';

Producción:

StudentAge
14
12
13

SQL NO ENTRE Operador para valor de fecha

Escenario: Obtenga la edad de los estudiantes cuya admisión no es entre el 1 de enero de 2018 y el 31 de enero de 2018.

SELECT StudentAge FROM Student WHERE admissiondate NOT BETWEEN str_to_date('2018-01-01', '%Y-%m-%d') AND '2018-01-31';

Producción:

StudentAge
11

MÚLTIPLES ENTRE operadores

También podemos usar múltiples entre operadores. Su sintaxis es:

SELECT Column(s) FROM table_name WHERE 
column_name BETWEEN value1 AND value2 
AND 
column_name BETWEEN value3 and value4 
... 
AND 
BETWEEN column_name BETWEEN valueN and valueM;

Usando la sintaxis mencionada anteriormente, podemos usar múltiples operadores BETWEEN. Escenario: Obtener el nombre del estudiante con edad entre 10 y 13 años y calificaciones entre 80 a 85 por ciento.

SELECT StudentName FROM Student WHERE 
StudentAge BETWEEN 10 AND 13 
AND
StudentPercent BETWEEN 80 AND 85;