sql >> Base de Datos >  >> RDS >> SQLite

SQLite ENTRE

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 por low_expression y high_expression .
  • low_expression y high_expression es cualquier expresión válida que especifique los valores alto y bajo del rango. La low_expression debe ser menor o igual que high_expression , o el BETWEEN siempre devuelve falso.
  • El AND palabra clave es un marcador de posición que indica la test_expression debe estar dentro del rango especificado por low_expression y high_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