Resumen :en este tutorial, aprenderá a usar SQLite BETWEEN
operador para probar si un valor está en un rango de valores.
Introducción a SQLite BETWEEN
Operador
El BETWEEN
operator es un operador lógico que prueba si un valor está dentro del rango de valores. Si el valor está en el rango especificado, BETWEEN
operador devuelve verdadero. El BETWEEN
El operador se puede utilizar en WHERE
cláusula del SELECT
, DELETE
, UPDATE
y REPLACE
declaraciones.
Lo siguiente ilustra la sintaxis de SQLite BETWEEN
operador:
test_expression BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
En esta sintaxis:
test_expression
es una expresión para probar en el rango definido porlow_expression
yhigh_expression
.low_expression
yhigh_expression
es cualquier expresión válida que especifique los valores alto y bajo del rango. Lalow_expression
debe ser menor o igual quehigh_expression
, o elBETWEEN
siempre devuelve falso.- El
AND
palabra clave es un marcador de posición que indica latest_expression
debe estar dentro del rango especificado porlow_expression
yhigh_expression
.
Tenga en cuenta que BETWEEN
El operador es inclusivo. Devuelve verdadero cuando test_expression
es menor o igual que high_expression
y mayor o igual que el valor de low_expression
:
test_expression >= low_expression AND test_expression <= high_expression
Code language: SQL (Structured Query Language) (sql)
Para especificar un rango exclusivo, utilice los operadores mayor que (>) y menor que (<).
Tenga en cuenta que si alguna entrada a BETWEEN
operador es NULL, el resultado es NULL, o desconocido para ser precisos.
Para negar el resultado de BETWEEN
operador, utiliza el NOT BETWEEN
operador de la siguiente manera:
test_expression NOT BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
El NO BETWEEN
devuelve verdadero si el valor de test_expression
es menor que el valor de low_expression
o mayor que el valor de high_expression
:
test_expression < low_expression OR test_expression > high_expression
Code language: SQL (Structured Query Language) (sql)
SQLite BETWEEN
ejemplos de operadores
Usaremos las invoices
tabla de la base de datos de muestra para la demostración:
SQLite BETWEEN
ejemplo de valores numéricos
La siguiente sentencia encuentra facturas cuyo total es between
14.96 y 18.86:
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total BETWEEN 14.91 and 18.86
ORDER BY
Total;
Code language: SQL (Structured Query Language) (sql)
Aquí está la salida:
Como puede ver, las facturas cuyo total es 14,91 o 18,86 se incluyen en el conjunto de resultados.
SQLite NOT BETWEEN
ejemplo de valores numéricos
Para buscar las facturas cuyo total no está entre 1 y 20, utilizas el NOT BETWEEN
operador como se muestra en la siguiente consulta:
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total NOT BETWEEN 1 and 20
ORDER BY
Total;
Code language: SQL (Structured Query Language) (sql)
La siguiente imagen muestra la salida:
Como se muestra claramente en la salida, el resultado incluye las facturas cuyo total es inferior a 1 y superior a 20.
SQLite BETWEEN
ejemplo de fechas
El siguiente ejemplo busca facturas cuyas fechas de facturación son del January 1 2010
y January 31 2010
:
SELECT
InvoiceId,
BillingAddress,
InvoiceDate,
Total
FROM
invoices
WHERE
InvoiceDate BETWEEN '2010-01-01' AND '2010-01-31'
ORDER BY
InvoiceDate;
Code language: SQL (Structured Query Language) (sql)
Aquí está la salida:
SQLite NOT BETWEEN
ejemplo de fechas
La siguiente declaración encuentra facturas cuyas fechas no están entre el 3 de enero de 2009 y el 1 de diciembre de 2013:
SELECT
InvoiceId,
BillingAddress,
date(InvoiceDate) InvoiceDate,
Total
FROM
invoices
WHERE
InvoiceDate NOT BETWEEN '2009-01-03' AND '2013-12-01'
ORDER BY
InvoiceDate;
Code language: SQL (Structured Query Language) (sql)
La salida es la siguiente:
En este tutorial, ha aprendido a usar SQLite BETWEEN
operador para probar si un valor está en un rango de valores