Podsumowanie :w tym samouczku dowiesz się, jak używać SQLite BETWEEN
operatora, aby sprawdzić, czy wartość należy do zakresu wartości.
Wprowadzenie do SQLite BETWEEN
Operator
BETWEEN
operator to operator logiczny, który sprawdza, czy wartość znajduje się w zakresie wartości. Jeśli wartość znajduje się w określonym zakresie, BETWEEN
operator zwraca prawdę. BETWEEN
operator może być użyty w WHERE
klauzula SELECT
, DELETE
, UPDATE
i REPLACE
oświadczenia.
Poniżej przedstawiono składnię SQLite BETWEEN
operator:
test_expression BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
W tej składni:
test_expression
jest wyrażeniem do przetestowania w zakresie zdefiniowanym przezlow_expression
ihigh_expression
.low_expression
ihigh_expression
to dowolne poprawne wyrażenie określające dolną i górną wartość zakresu.low_expression
powinna być mniejsza lub równahigh_expression
lubBETWEEN
jest zawsze zwraca fałsz.AND
słowo kluczowe to symbol zastępczy, który wskazujetest_expression
powinien znajdować się w zakresie określonym przezlow_expression
ihigh_expression
.
Zauważ, że BETWEEN
operator jest włącznie. Zwraca true, gdy test_expression
jest mniejsze lub równe high_expression
i większe lub równe wartości low_expression
:
test_expression >= low_expression AND test_expression <= high_expression
Code language: SQL (Structured Query Language) (sql)
Aby określić wyłączny zakres, użyj operatorów większych niż (>) i mniejszych niż (<).
Zwróć uwagę, że jeśli jakiekolwiek dane wejściowe do BETWEEN
operator to NULL, wynik to NULL, a dokładniej nieznany.
Aby zanegować wynik BETWEEN
operatora, używasz NOT BETWEEN
operatora w następujący sposób:
test_expression NOT BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
NIE BETWEEN
zwraca true, jeśli wartość test_expression
jest mniejsza niż wartość low_expression
lub większa niż wartość high_expression
:
test_expression < low_expression OR test_expression > high_expression
Code language: SQL (Structured Query Language) (sql)
SQLite BETWEEN
przykłady operatorów
Użyjemy invoices
tabela z przykładowej bazy danych do demonstracji:
SQLite BETWEEN
przykład wartości liczbowych
Poniższa instrukcja wyszukuje faktury, których suma wynosi between
14.96 i 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)
Oto wynik:
Jak widać, w zestawie wyników znajdują się faktury, których suma wynosi 14,91 lub 18,86.
SQLite NOT BETWEEN
przykład wartości liczbowych
Aby znaleźć faktury, których suma nie mieści się w przedziale od 1 do 20, użyj NOT BETWEEN
operator, jak pokazano w następującym zapytaniu:
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total NOT BETWEEN 1 and 20
ORDER BY
Total;
Code language: SQL (Structured Query Language) (sql)
Poniższy rysunek przedstawia dane wyjściowe:
Jak wyraźnie pokazano na danych wyjściowych, wynik obejmuje faktury, których suma jest mniejsza niż 1 i większa niż 20.
SQLite BETWEEN
przykład daty
Poniższy przykład wyszukuje faktury, których daty faktur pochodzą od January 1 2010
i 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)
Oto wynik:
SQLite NOT BETWEEN
przykład daty
Poniższe oświadczenie zawiera faktury, których daty nie przypadają na okres od 3 stycznia 2009 r. do 1 grudnia 2013 r.:
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)
Dane wyjściowe są następujące:
W tym samouczku nauczyłeś się korzystać z SQLite BETWEEN
operatora, aby sprawdzić, czy wartość należy do zakresu wartości