Riepilogo :in questo tutorial imparerai come usare SQLite BETWEEN
per verificare se un valore è in un intervallo di valori.
Introduzione a SQLite BETWEEN
Operatore
Il BETWEEN
operator è un operatore logico che verifica se un valore è compreso nell'intervallo di valori. Se il valore rientra nell'intervallo specificato, BETWEEN
l'operatore restituisce true. Il BETWEEN
operatore può essere utilizzato in WHERE
clausola del SELECT
, DELETE
, UPDATE
e REPLACE
dichiarazioni.
Di seguito viene illustrata la sintassi di SQLite BETWEEN
operatore:
test_expression BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
In questa sintassi:
test_expression
è un'espressione da testare nell'intervallo definito dalow_expression
ehigh_expression
.low_expression
ehigh_expression
è qualsiasi espressione valida che specifica i valori basso e alto dell'intervallo. L'low_expression
deve essere minore o uguale ahigh_expression
o ilBETWEEN
restituisce sempre false.- Il
AND
la parola chiave è un segnaposto che indicatest_expression
dovrebbe rientrare nell'intervallo specificato dalow_expression
ehigh_expression
.
Nota che il BETWEEN
l'operatore è inclusivo. Restituisce true quando test_expression
è minore o uguale a high_expression
e maggiore o uguale al valore di low_expression
:
test_expression >= low_expression AND test_expression <= high_expression
Code language: SQL (Structured Query Language) (sql)
Per specificare un intervallo esclusivo, utilizzi gli operatori maggiore di (>) e minore di (<).
Nota che se qualsiasi input al BETWEEN
l'operatore è NULL, il risultato è NULL o sconosciuto per la precisione.
Per negare il risultato del BETWEEN
operatore, utilizzi il NOT BETWEEN
operatore come segue:
test_expression NOT BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
Il NON BETWEEN
restituisce true se il valore di test_expression
è inferiore al valore di low_expression
o maggiore del valore di high_expression
:
test_expression < low_expression OR test_expression > high_expression
Code language: SQL (Structured Query Language) (sql)
SQLite BETWEEN
esempi di operatori
Utilizzeremo le invoices
tabella dal database di esempio per la dimostrazione:

SQLite BETWEEN
esempio di valori numerici
Il seguente estratto conto trova le fatture il cui totale è between
14.96 e 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)
Ecco l'output:

Come puoi vedere, le fatture il cui totale è 14,91 o 18,86 sono incluse nel set di risultati.
SQLite NOT BETWEEN
esempio di valori numerici
Per trovare le fatture il cui totale non è compreso tra 1 e 20, utilizza il NOT BETWEEN
operatore come mostrato nella query seguente:
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total NOT BETWEEN 1 and 20
ORDER BY
Total;
Code language: SQL (Structured Query Language) (sql)
L'immagine seguente mostra l'output:

Come chiaramente indicato nell'output, il risultato include le fatture il cui totale è minore di 1 e maggiore di 20.
SQLite BETWEEN
esempio di date
L'esempio seguente trova le fatture le cui date di fattura risalgono a January 1 2010
e 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)
Ecco l'output:

SQLite NOT BETWEEN
esempio di date
La seguente dichiarazione trova fatture le cui date non sono comprese tra il 03 gennaio 2009 e il 01 dicembre 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)
L'output è il seguente:

In questo tutorial, hai imparato a usare SQLite BETWEEN
per verificare se un valore è in un intervallo di valori